← Back to team overview

yade-users team mailing list archive

[Question #138108]: issues with plotting (maybe due to matplotlib)

 

New question #138108 on Yade:
https://answers.launchpad.net/yade/+question/138108

Hi,

I'm using yade-bzr2612 on ubuntu 9.10. The plot window crashes at some point almost in every simulation, regardless the simulation it's running.

When it happens in the terminal I got:

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', (550, 0))

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', (550, 0))

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', (550, 0))

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', (550, 0))

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)

/usr/lib/pymodules/python2.6/matplotlib/backends/backend_qt4.pyc in mouseReleaseEvent(self, event)
    134         y = self.figure.bbox.height - event.y()
    135         button = self.buttond[event.button()]
--> 136         FigureCanvasBase.button_release_event( self, x, y, button )
    137         if DEBUG: print 'button released'
    138 

/usr/lib/pymodules/python2.6/matplotlib/backend_bases.pyc in button_release_event(self, x, y, button, guiEvent)
   1217         s = 'button_release_event'
   1218         event = MouseEvent(s, self, x, y, button, self._key, guiEvent=guiEvent)
-> 1219         self.callbacks.process(s, event)
   1220         self._button = None
   1221 




...and continues with something similar for other a while (do you need the whole output?)... and then:

KeyError: (0.0, 0.00019999999999999987, u'0.0002', 'k', 'center', 'right', 7623432979757281113, None, 80, 79854408)


At this point I close the window plot (with the simulation still running), and open it again with the F8 command. Sometimes it works, sometimes I got:



RuntimeError                              Traceback (most recent call last)

/home/giulia/YADE/lib/yade-bzr2612/py/yade/__init__.pyc in <module>()
----> 1 
      2 
      3 
      4 
      5 

/home/giulia/YADE/lib/yade-bzr2612/py/yade/plot.pyc in plot(noShow, subPlots)
    254         .. note:: For backwards compatibility reasons, *noShow* option will return list of figures for multiple figures but a single figure (rather than list with 1 element) if there is only 1 figure.
    255 	"""
--> 256         createPlots(subPlots=subPlots)
    257         global currLineRefs
    258         if not noShow:

/home/giulia/YADE/lib/yade-bzr2612/py/yade/plot.pyc in createPlots(subPlots)
    148         global currLineRefs
    149         figs=set([l.line.get_axes().get_figure() for l in currLineRefs]) # get all current figures
--> 150         for f in figs: pylab.close(f) # close those
    151         currLineRefs=[] # remove older plots (breaks live updates of windows that are still open)
    152         if len(plots)==0: return # nothing to plot

/usr/lib/pymodules/python2.6/matplotlib/pyplot.pyc in close(*args)
    334                 if manager.canvas.figure==arg:
    335                     manager.canvas.mpl_disconnect(manager._cidgcf)
--> 336                     _pylab_helpers.Gcf.destroy(manager.num)
    337         else:
    338             raise TypeError('Unrecognized argument type %s to close'%type(arg))

/usr/lib/pymodules/python2.6/matplotlib/_pylab_helpers.pyc in destroy(num)
     61         del Gcf.figs[num]
     62         #print len(Gcf.figs.keys()), len(Gcf._activeQue)

---> 63         figManager.destroy()
     64         gc.collect()
     65 

/usr/lib/pymodules/python2.6/matplotlib/backends/backend_qt4.pyc in destroy(self, *args)
    278         self.window._destroying = True
    279         QtCore.QObject.disconnect( self.window, QtCore.SIGNAL( 'destroyed()' ),
--> 280                                    self._widgetclosed )
    281         if self.toolbar: self.toolbar.destroy()
    282         if DEBUG: print "destroy figure manager"

RuntimeError: underlying C/C++ object has been deleted




Could it be related to the python version (Python 2.6.4 (r264:75706, Dec  7 2009, 18:43:55) 
[GCC 4.4.1] on linux2) I'm using?
or do I need any other python package?

It's not that I can't run the simulation as it works now, but it's a bit annoying.

Thank you
Giulia





-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.



Follow ups