My favorites | Sign in
Project Home Downloads Issues
READ-ONLY: This project has been archived. For more information see this post.
Search
for
  Advanced search   Search tips   Subscriptions
Issue 272: New scatter crash
1 person starred this issue and may be notified of changes. Back to list
Status:  Fixed
Owner:  thomas.h...@gmail.com
Closed:  Jul 2010


 
Project Member Reported by txprog, Jul 1, 2010
By trying to get close 2 touch at the same position with mouse, i've been able to crash scatter 2 times, with different backtrace.

new rotation: XXXXXX 166.417929397 166.417929397 0.0
[INFO   ] [Base    ] Leaving application in progress...
Traceback (most recent call last):
  File "tests/scatter-test.py", line 89, in <module>
    runTouchApp(ScatterTest())
  File "/home/tito/code/pymt/pymt/base.py", line 366, in runTouchApp
    pymt_window.mainloop()
  File "/home/tito/code/pymt/pymt/ui/window/win_pygame.py", line 192, in mainloop
    self._mainloop()
  File "/home/tito/code/pymt/pymt/ui/window/win_pygame.py", line 124, in _mainloop
    evloop.idle()
  File "/home/tito/code/pymt/pymt/base.py", line 214, in idle
    self.dispatch_input()
  File "/home/tito/code/pymt/pymt/base.py", line 199, in dispatch_input
    self.post_dispatch_input(type=type, touch=touch)
  File "/home/tito/code/pymt/pymt/base.py", line 167, in post_dispatch_input
    wid.dispatch_event('on_touch_move', touch)
  File "c_accelerate.pyx", line 41, in pymt.c_ext.c_accelerate.eventdispatcher_dispatch_event (pymt/c_ext/c_accelerate.c:784)
  File "/home/tito/code/pymt/pymt/ui/widgets/scatter.py", line 428, in on_touch_move
    self.update_transformation()
  File "/home/tito/code/pymt/pymt/ui/widgets/scatter.py", line 388, in update_transformation
    self.update_matrices()
  File "/home/tito/code/pymt/pymt/ui/widgets/scatter.py", line 287, in update_matrices
    self.dispatch_event('on_transform')
  File "c_accelerate.pyx", line 33, in pymt.c_ext.c_accelerate.eventdispatcher_dispatch_event (pymt/c_ext/c_accelerate.c:654)
  File "tests/scatter-test.py", line 32, in update_values
    self.xml.getById('scale').value = self.scatter.scale
  File "/home/tito/code/pymt/pymt/ui/widgets/slider.py", line 77, in set_value
    self.dispatch_event('on_value_change', self._value)
  File "c_accelerate.pyx", line 33, in pymt.c_ext.c_accelerate.eventdispatcher_dispatch_event (pymt/c_ext/c_accelerate.c:654)
  File "tests/scatter-test.py", line 36, in on_scale_value_change
    self.scatter.scale = val
  File "/home/tito/code/pymt/pymt/ui/widgets/scatter.py", line 231, in _set_scale
    rescale = scale * (1.0/scale_now)
ZeroDivisionError: float division




AND




new rotation: XXXXXX 117.979474388 117.979474388 0.0
[INFO   ] [Base    ] Leaving application in progress...
Traceback (most recent call last):
  File "tests/scatter-test.py", line 89, in <module>
    runTouchApp(ScatterTest())
  File "/home/tito/code/pymt/pymt/base.py", line 366, in runTouchApp
    pymt_window.mainloop()
  File "/home/tito/code/pymt/pymt/ui/window/win_pygame.py", line 192, in mainloop
    self._mainloop()
  File "/home/tito/code/pymt/pymt/ui/window/win_pygame.py", line 124, in _mainloop
    evloop.idle()
  File "/home/tito/code/pymt/pymt/base.py", line 214, in idle
    self.dispatch_input()
  File "/home/tito/code/pymt/pymt/base.py", line 199, in dispatch_input
    self.post_dispatch_input(type=type, touch=touch)
  File "/home/tito/code/pymt/pymt/base.py", line 167, in post_dispatch_input
    wid.dispatch_event('on_touch_move', touch)
  File "c_accelerate.pyx", line 41, in pymt.c_ext.c_accelerate.eventdispatcher_dispatch_event (pymt/c_ext/c_accelerate.c:784)
  File "/home/tito/code/pymt/pymt/ui/widgets/scatter.py", line 428, in on_touch_move
    self.update_transformation()
  File "/home/tito/code/pymt/pymt/ui/widgets/scatter.py", line 388, in update_transformation
    self.update_matrices()
  File "/home/tito/code/pymt/pymt/ui/widgets/scatter.py", line 285, in update_matrices
    self.transform_inv = inverse_matrix(self.transform)
  File "/home/tito/code/pymt/pymt/lib/transformations.py", line 1728, in inverse_matrix
    return numpy.linalg.inv(matrix)
  File "/usr/lib/python2.6/dist-packages/numpy/linalg/linalg.py", line 355, in inv
    return wrap(solve(a, identity(a.shape[0], dtype=a.dtype)))
  File "/usr/lib/python2.6/dist-packages/numpy/linalg/linalg.py", line 254, in solve
    raise LinAlgError, 'Singular matrix'
numpy.linalg.linalg.LinAlgError: Singular matrix




Jul 2, 2010
Project Member #1 thomas.h...@gmail.com
ficed this by not reacting if fingers are too close (on actual touch with real fingers antwat it will never happen)
Status: Fixed

Powered by Google Project Hosting