Matplotlib crashes on mouse event

hi folks,
even on simple script, matplotlib crashes :
        fab:$ python
        Python 2.5.5 (r255:77872, Apr 21 2010, 08:44:16)
        [GCC 4.4.3] on linux2
        Type "help", "copyright", "credits" or "license" for more information.
        >>> import matplotlib.pyplot as plt
        >>> plt.plot([4,2,8])
        /usr/lib/pymodules/python2.5/matplotlib/backends/backend_gtk.py:621: DeprecationWarning: Use the new widget gtk.Tooltip
          self.tooltips = gtk.Tooltips()
        [<matplotlib.lines.Line2D object at 0xa02ff4c>]
        >>> plt.show()
        Instruction non permise

The crash occurs when the mouse enters (if previously outside) and moves
(if previously inside) in the figure.
I am using debian unstable package (0.99.1-1) and admit I have try to
manually modify the gtk backend to resolve the ginput bug (due to
changes in stop_event signature, solved by r8531 but not in debian
package). Since then the crash occurs automatically. Even a complete
remove/purge/install of the package does not solve the problem.

Any idea? Matplotlib's developers? Sandro (Debian maintainer) ?

···

--
Fabrice Silva
LMA UPR CNRS 7051

Some additional details
$ python
Python 2.5.5 (r255:77872, Apr 21 2010, 08:44:16) [GCC 4.4.3] on linux2

import numpy, matplotlib
numpy.__version__, matplotlib.__version__

('1.3.0', '0.99.1.1')

and the output of lsof just before the pointer enters the canvas

lsof_matplotlib.txt (15.7 KB)

···

--
Fabrice Silva

Can you get a gdb backtrace?

(Run "gdb python", then "run name_of_script.py", cause it to crash, and type "bt" in gdb console...)

Mike

Fabrice Silva wrote:

···

hi folks,
even on simple script, matplotlib crashes : fab:$ python
        Python 2.5.5 (r255:77872, Apr 21 2010, 08:44:16) [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information.
        >>> import matplotlib.pyplot as plt
        >>> plt.plot([4,2,8])
        /usr/lib/pymodules/python2.5/matplotlib/backends/backend_gtk.py:621: DeprecationWarning: Use the new widget gtk.Tooltip self.tooltips = gtk.Tooltips()
        [<matplotlib.lines.Line2D object at 0xa02ff4c>]
        >>> plt.show()
        Instruction non permise

The crash occurs when the mouse enters (if previously outside) and moves
(if previously inside) in the figure.
I am using debian unstable package (0.99.1-1) and admit I have try to
manually modify the gtk backend to resolve the ginput bug (due to
changes in stop_event signature, solved by r8531 but not in debian
package). Since then the crash occurs automatically. Even a complete
remove/purge/install of the package does not solve the problem.

Any idea? Matplotlib's developers? Sandro (Debian maintainer) ?

--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA

Here is the backtrace:
        (gdb) run test_plt.py
        Starting program: /usr/bin/python test_plt.py
        [Thread debugging using libthread_db enabled]
        /usr/lib/pymodules/python2.5/matplotlib/backends/backend_gtk.py:621: DeprecationWarning: Use the new widget gtk.Tooltip
          self.tooltips = gtk.Tooltips()
        
        Program received signal SIGILL, Illegal instruction.
        0xb767b638 in ATL_diamax_xp1yp0aXbX ()
        from /usr/lib/libblas.so.3gf
        (gdb) bt
        #0 0xb767b638 in ATL_diamax_xp1yp0aXbX ()
        from /usr/lib/libblas.so.3gf
        #1 0x00000000 in ?? ()
        (gdb)

Surprisingly, the troubles come from libblas. In fact, I daily update my
debian and, on wednesday, the package libatlas3gf-base has been updated
from 3.8.3-21 to 3.8.3-22. It seems that it had some side-effect on
matplotlib behaviour...
But why does the interpreter crash only when the pointer enters the
figure canvas??

···

Le vendredi 14 mai 2010 à 10:06 -0400, Michael Droettboom a écrit :

Can you get a gdb backtrace?

(Run "gdb python", then "run name_of_script.py", cause it to crash, and
type "bt" in gdb console...)

--
Fabrice Silva <silva@...1918...>
LMA UPR CNRS 7051

I notice that the illegal instruction does not occur when the figure
does not contain any axes.

Fabrice

FIY, with the help of Sylvestre Ledru (debian atlas maintainer), the
problem was solved installing libatlas3g-sse*.