memory leak in copy_ticks on linux
- Dominant language
- Python
- Stars
- 305
- Forks
- 97
- PR merge metrics
- No merged PRs in 30d
Description
OS: linux ubuntu 10.10
Sometimes upon refresh / update of a plot, we get an exception with a corrupted traceback.
It looks like the exception occurs upon auto scaling of the value axis, possibly when rebuilding the axis ticks. (the exception does not occur when the value range limits are fixed).
The exception also causes a memory leak (using 'top' it can be observed that the ipython process successively increase the memory).
Below I paste the traceback.
In [2]: ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (2, 0))
---
IndexError Traceback (most recent call last)
/usr/lib/python2.6/dist-packages/enthought/enable/abstract_window.pyc in _paint(self, event)
348 self.component.do_layout()
349 gc = self._gc
--> 350 self.component.draw(gc, view_bounds=(0, 0, size[0], size[1]))
351
352 # damaged_regions = draw_result['damaged_regions']
/usr/lib/python2.6/dist-packages/enthought/enable/component.pyc in draw(self, gc, view_bounds, mode)
423 self.do_layout()
424
--> 425 self._draw(gc, view_bounds, mode)
426 return
427
/usr/lib/python2.6/dist-packages/enthought/enable/component.pyc in _draw(self, gc, view_bounds, mode)
759 else:
760 for layer in self.draw_order:
--> 761 self._dispatch_draw(layer, gc, view_bounds, mode)
762
763 return
/usr/lib/python2.6/dist-packages/enthought/enable/container.pyc in _dispatch_draw(self, layer, gc, view_bounds, mode)
308 my_handler = getattr(self, "_draw_container_" + layer, None)
309 if my_handler:
--> 310 my_handler(gc, view_bounds, mode)
311
312 # Now transform coordinates and draw the children
/usr/lib/python2.6/dist-packages/enthought/enable/container.pyc in _draw_container_underlay(self, gc, view_bounds, mode)
350
351 def _draw_container_underlay(self, gc, view_bounds=None, mode="normal"):
--> 352 self._draw_underlay(gc, view_bounds, mode)
353
354 def _draw_container_border(self, gc, view_bounds=None, mode="normal"):
/usr/lib/python2.6/dist-packages/enthought/enable/component.pyc in _draw_underlay(self, gc, view_bounds, mode)
876 # just overlays drawn at a different time in the rendering loop.
```
877 if underlay.visible:
```
--> 878 underlay.overlay(self, gc, view_bounds, mode)
879 return
880
/usr/lib/python2.6/dist-packages/enthought/chaco/grid.pyc in overlay(self, other_component, gc, view_bounds, mode)
302 return
303 self._compute_ticks(other_component)
--> 304 self._draw_component(gc, view_bounds, mode)
305 self._cache_valid = False
306 return
/usr/lib/python2.6/dist-packages/enthought/chaco/grid.pyc in _draw_component(self, gc, view_bounds, mode)
341 starts[:,0] = self._tick_extents[:,0]
342 ends = self._tick_positions.copy()
--> 343 ends[:,0] = self._tick_extents[:,1]
344 else:
345 starts = self._tick_positions.copy()
IndexError: invalid index
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.