segfault with Tkagg

Hi,

I’ve made a local installation of python2.5, numpy 1.0.4 and matplotlib 0.91.2.

I didn’t see any pb during compilation, but when I try to show a figure, I received SIGSEGV.

You will find attached to this mail the log of my installation, and a backtrace of a segfault in gdb, I don’t know if this helps.

Have you got any glue ?

matplotlib_segfault.log (6.86 KB)

14_matplotlib.bash.log (16.8 KB)

···


LB

I’m still investigating for my segmentation fault pb with matplotlib and Tkagg,
but now, I have no more idea.

Here is a summary of my investigations :

···

=============
CONFIGURATION

I’m trying to make a local installation of the following programs on a
GNU/Linux i686 (32 bits) :

  • gcc-4.2.3
  • tcl8.5.1
  • tk8.5.1
  • Python-2.5.2
  • numpy-1.0.4
  • scipy-0.6
  • matplotlib-0.91.2

I used the option --prefix=${INSTALL_DIR} everywhere, and I compiled gcc, tcl
tk and Python with the options --enable-shared --enable-threads. For building
numpy, scipy and matplotlib, I defined a shell varaible named python in order
to call the python version installed in $INSTALL_DIR.

All compilation are made from the official source tarballs.

I haven’t seen any compilation problem in the log of theses compilations, and
all tests are running fine.

======================
INSTALLING MATPLOTLIB

I’ve put verbose=True in my setup.cfg file (but didn’t see a lot of change with that) :

$ cat setup.cfg
[ status ]
verbose=True

python setup.py install --prefix={INSTALL_DIR}

BUILDING MATPLOTLIB
matplotlib: 0.91.2
python: 2.5.2 (r252:60911, Feb 26 2008, 22:21:12) [GCC
4.2.3]
platform: linux2

REQUIRED DEPENDENCIES
numpy: 1.0.4
freetype2: 9.16.3

OPTIONAL BACKEND DEPENDENCIES
libpng: 1.2.15beta5
Tkinter: Tkinter: 50704, Tk: 8.5, Tcl: 8.5
wxPython: no
* wxPython not found
Gtk+: no
* Building for Gtk+ requires pygtk; you must be able
* to “import gtk” in your build/install environment
Qt: no
Qt4: no
Cairo: no

OPTIONAL DATE/TIMEZONE DEPENDENCIES
datetime: present, version unknown
dateutil: matplotlib will provide
pytz: matplotlib will provide

OPTIONAL USETEX DEPENDENCIES
dvipng: 1.9
ghostscript: 8.15.3
latex: 3.141592
pdftops: 3.00

EXPERIMENTAL CONFIG PACKAGE DEPENDENCIES
configobj: matplotlib will provide
enthought.traits: matplotlib will provide

[Edit setup.cfg to suppress the above messages]

I didn’t see any compilation error, only a lot of messages saying :
“”"
cc1plus: attention : l’option de la ligne de commande “-Wstrict-prototypes” est
valide pour Ada/C/ObjC mais pas pour C++
“”"

==================
TESTING MATPLOTLIB

source setenv_bash # setup environment to call the local version of python cat test.py
from pylab import *
plot([1, 2, 3])
show()

$ python2.5 test.py --verbose-debug-annoying
$HOME=/home/loic
CONFIGDIR=/home/loic/.matplotlib
matplotlib data path /home/loic/tmp/bluelagoon/lib/python2.5/site-packages/matplotlib/mpl-data
loaded rc file /home/loic/.matplotlib/matplotlibrc
matplotlib version 0.91.2
verbose.level debug-annoying
interactive is False
units is True
platform is linux2
loaded modules: [‘_bisect’, ‘xml.sax.urlparse’, ‘distutils’, ‘pylab’,
‘datetime’, ‘matplotlib.tempfile’, ‘distutils.sysconfig’,
‘encodings.encodings’, ‘pytz.cStringIO’, ‘xml’, ‘struct’, ‘tempfile’,
‘xml.sax.urllib’, ‘_struct’, ‘pytz.os’, ‘matplotlib.matplotlib’,
‘string’, ‘encodings.utf_8’, ‘matplotlib.future’, ‘pytz.tzinfo’,
‘pytz.datetime’, ‘distutils.re’, ‘bisect’, ‘signal’, ‘random’,
‘xml.sax.xmlreader’, ‘matplotlib.pytz’, ‘pytz.tzfile’, ‘cStringIO’,
‘locale’, ‘xml.sax.saxutils’, ‘encodings’, ‘dateutil’,
‘matplotlib.warnings’, ‘matplotlib.string’, ‘pytz.pytz’, ‘urllib’,
‘matplotlib.sys’, ‘re’, ‘math’, ‘fcntl’, ‘UserDict’, ‘distutils.os’,
‘matplotlib’, ‘codecs’, ‘md5’, ‘_locale’, ‘matplotlib.sre_constants’,
‘matplotlib.os’, ‘thread’, ‘weakref’, ‘itertools’, ‘distutils.sys’,
‘os’, ‘sre_parse’, ‘future’, ‘matplotlib.copy’, ‘xml.sax.types’,
‘_sre’, ‘builtin’, ‘matplotlib.re’, ‘operator’, ‘distutils.string’,
‘matplotlib.datetime’, ‘posixpath’, ‘errno’, ‘_socket’, ‘binascii’,
‘sre_constants’, ‘matplotlib.md5’, ‘types’, ‘pytz.sys’,
‘xml.sax.handler’, ‘xml.sax.os’, ‘matplotlib.xml’, ‘_codecs’, ‘pytz’,
‘matplotlib.pyparsing’, ‘copy’, ‘socket’, ‘_types’,
‘matplotlib.dateutil’, ‘hashlib’, ‘posix’, ‘encodings.aliases’,
‘matplotlib.fontconfig_pattern’, ‘exceptions’, ‘xml.sax._exceptions’,
‘pytz.bisect’, ‘distutils.distutils’, ‘copy_reg’, ‘sre_compile’,
‘xml.sax’, ‘_hashlib’, ‘_random’, ‘pytz.struct’, ‘site’, ‘zipimport’,
main’, ‘shutil’, ‘matplotlib.weakref’, ‘strop’, ‘encodings.codecs’,
‘gettext’, ‘matplotlib.rcsetup’, ‘pytz.sets’, ‘xml.sax.codecs’, ‘stat’,
‘_ssl’, ‘warnings’, ‘encodings.types’, ‘sets’, ‘sys’, ‘xml.sax.sys’,
‘os.path’, ‘pytz.gettext’, ‘matplotlib.distutils’, ‘_weakref’,
‘distutils.errors’, ‘urlparse’, ‘linecache’, ‘matplotlib.shutil’,
‘time’]
numerix numpy 1.0.4
Using fontManager instance from /home/loic/.matplotlib/fontManager.cache
backend TkAgg version 8.5
FigureCanvasAgg.draw
RendererAgg.init
RendererAgg.init width=650.0, height=490.0
RendererAgg.init _RendererAgg done
RendererAgg.init done
RendererAgg._get_agg_font
findfont found Bitstream Vera Sans, normal, normal 400, normal, 12.0
findfont returning /home/loic/tmp/bluelagoon/lib/python2.5/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf
RendererAgg._get_agg_font
RendererAgg.draw_text
RendererAgg._get_agg_font
RendererAgg.points_to_pixels
RendererAgg.points_to_pixels
RendererAgg._get_agg_font
RendererAgg._get_agg_font
RendererAgg.draw_text
RendererAgg._get_agg_font
RendererAgg.points_to_pixels
RendererAgg.points_to_pixels
RendererAgg._get_agg_font
RendererAgg._get_agg_font
RendererAgg.draw_text
RendererAgg._get_agg_font
RendererAgg.points_to_pixels
RendererAgg.points_to_pixels
RendererAgg._get_agg_font
RendererAgg._get_agg_font
RendererAgg.draw_text
RendererAgg._get_agg_font
RendererAgg._get_agg_font
RendererAgg._get_agg_font
RendererAgg.draw_text
RendererAgg._get_agg_font
RendererAgg._get_agg_font
RendererAgg._get_agg_font
RendererAgg.draw_text
RendererAgg._get_agg_font
RendererAgg.points_to_pixels
RendererAgg.points_to_pixels
RendererAgg._get_agg_font
RendererAgg._get_agg_font
RendererAgg.draw_text
RendererAgg._get_agg_font
RendererAgg.points_to_pixels
RendererAgg.points_to_pixels
RendererAgg._get_agg_font
RendererAgg._get_agg_font
RendererAgg.draw_text
RendererAgg._get_agg_font
RendererAgg.points_to_pixels
RendererAgg.points_to_pixels
RendererAgg._get_agg_font
RendererAgg._get_agg_font
RendererAgg.draw_text
RendererAgg._get_agg_font
RendererAgg._get_agg_font
RendererAgg._get_agg_font
RendererAgg.draw_text
RendererAgg._get_agg_font
Erreur de segmentation

===========
RUNNING GDB

$ gdb python2.5
GNU gdb 6.7.1-debian
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type “show copying”
and “show warranty” for details.
This GDB was configured as “i486-linux-gnu”…
Using host libthread_db library “/lib/i686/cmov/libthread_db.so.1”.
(gdb) run
Starting program: /home/loic/tmp/bluelagoon/bin/python2.5
[Thread debugging using libthread_db enabled]
Python 2.5.2 (r252:60911, Feb 26 2008, 22:21:12)
[GCC 4.2.3] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
[New Thread 0xb7c40ad0 (LWP 20090)]

from pylab import *
[New Thread 0xb6916b90 (LWP 20093)]
plot([1, 2, 3])
[<matplotlib.lines.Line2D instance at 0x889d24c>]
show()

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7c40ad0 (LWP 20090)]
PyAggImagePhoto (clientdata=0x0, interp=0x881a068, argc=5, argv=0x8a3d318) at src/_transforms.h:362
362 Point* ll_api() {return _ll;}
Current language: auto; currently c++
(gdb) bt
#0 PyAggImagePhoto (clientdata=0x0, interp=0x881a068, argc=5, argv=0x8a3d318) at src/_transforms.h:362
#1 0xb6a81a06 in TclInvokeStringCommand () from /home/loic/tmp/bluelagoon/lib/libtcl8.5.so
#2 0xb6a8277c in TclEvalObjvInternal () from /home/loic/tmp/bluelagoon/lib/libtcl8.5.so
#3 0xb6a8361e in Tcl_EvalObjv () from /home/loic/tmp/bluelagoon/lib/libtcl8.5.so
#4 0xb6d72186 in Tkapp_Call (selfptr=0x8892288, args=0x8801f8c) at /home/loic/tmp/bluelagoon/src/Python-2.5.2/Modules/_tkinter.c:1327
#5 0xb7e4c238 in PyCFunction_Call (func=0x889d66c, arg=0x8801f8c, kw=0x0) at Objects/methodobject.c:108
#6 0xb7e99ed6 in PyEval_EvalFrameEx (f=0x8b0118c, throwflag=0) at Python/ceval.c:3573
#7 0xb7e9b668 in PyEval_EvalCodeEx (co=0x8804b18, globals=0x886224c, locals=0x0, args=0x8abc724, argcount=2, kws=0x8abc72c, kwcount=1,
defs=0x85735b8, defcount=2, closure=0x0) at Python/ceval.c:2836
#8 0xb7e99bbc in PyEval_EvalFrameEx (f=0x8abc5e4, throwflag=0) at Python/ceval.c:3669
#9 0xb7e9b668 in PyEval_EvalCodeEx (co=0x87d37b8, globals=0x87d52d4, locals=0x0, args=0x8abc108, argcount=1, kws=0x8abc10c, kwcount=0,
defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2836
#10 0xb7e99bbc in PyEval_EvalFrameEx (f=0x8abbfb4, throwflag=0) at Python/ceval.c:3669
#11 0xb7e9b668 in PyEval_EvalCodeEx (co=0x87d3770, globals=0x87d52d4, locals=0x0, args=0x854ed78, argcount=2, kws=0x0, kwcount=0,
defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2836
#12 0xb7e3841f in function_call (func=0x889002c, arg=0x854ed6c, kw=0x0) at Objects/funcobject.c:517
#13 0xb7e166e7 in PyObject_Call (func=0x6, arg=0x854ed6c, kw=0x0) at Objects/abstract.c:1861
#14 0xb7e97c07 in PyEval_EvalFrameEx (f=0x8abb684, throwflag=0) at Python/ceval.c:3853
#15 0xb7e9b668 in PyEval_EvalCodeEx (co=0x87f39b0, globals=0x87d5d74, locals=0x0, args=0xb7c07720, argcount=20, kws=0x0, kwcount=0,
defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2836
#16 0xb7e3841f in function_call (func=0x8859684, arg=0xb7c07714, kw=0x0) at Objects/funcobject.c:517
#17 0xb7e166e7 in PyObject_Call (func=0x6, arg=0xb7c07714, kw=0x0) at Objects/abstract.c:1861
#18 0xb7e1de98 in instancemethod_call (func=0x8859684, arg=0xb7c07714, kw=0x0) at Objects/classobject.c:2519
#19 0xb7e166e7 in PyObject_Call (func=0x6, arg=0x876bc5c, kw=0x0) at Objects/abstract.c:1861
#20 0xb7e92eac in PyEval_CallObjectWithKeywords (func=0x836caa4, arg=0x876bc5c, kw=0x0) at Python/ceval.c:3442
#21 0xb6d71082 in PythonCmd (clientData=0x8918010, interp=0x881a068, argc=20, argv=0x8a3d2bc)
at /home/loic/tmp/bluelagoon/src/Python-2.5.2/Modules/_tkinter.c:2014
#22 0xb6a81a06 in TclInvokeStringCommand () from /home/loic/tmp/bluelagoon/lib/libtcl8.5.so
#23 0xb6a8277c in TclEvalObjvInternal () from /home/loic/tmp/bluelagoon/lib/libtcl8.5.so
#24 0xb6ac8325 in TclExecuteByteCode () from /home/loic/tmp/bluelagoon/lib/libtcl8.5.so
#25 0xb6ad106c in Tcl_ExprObj () from /home/loic/tmp/bluelagoon/lib/libtcl8.5.so
#26 0xb6a814a3 in Tcl_ExprBooleanObj () from /home/loic/tmp/bluelagoon/lib/libtcl8.5.so
#27 0xb6a9435c in Tcl_IfObjCmd () from /home/loic/tmp/bluelagoon/lib/libtcl8.5.so
#28 0xb6a8277c in TclEvalObjvInternal () from /home/loic/tmp/bluelagoon/lib/libtcl8.5.so
#29 0xb6a8321a in TclEvalEx () from /home/loic/tmp/bluelagoon/lib/libtcl8.5.so
#30 0xb6a8346e in Tcl_EvalEx () from /home/loic/tmp/bluelagoon/lib/libtcl8.5.so
#31 0xb6b72c94 in Tk_BindEvent () from /home/loic/tmp/bluelagoon/lib/libtk8.5.so
#32 0xb6b786d1 in TkBindEventProc () from /home/loic/tmp/bluelagoon/lib/libtk8.5.so
#33 0xb6b7e827 in Tk_HandleEvent () from /home/loic/tmp/bluelagoon/lib/libtk8.5.so
#34 0xb6b9b196 in TkDoConfigureNotify () from /home/loic/tmp/bluelagoon/lib/libtk8.5.so
#35 0xb6b9b9f7 in Tk_MakeWindowExist () from /home/loic/tmp/bluelagoon/lib/libtk8.5.so
#36 0xb6b9baf8 in Tk_MapWindow () from /home/loic/tmp/bluelagoon/lib/libtk8.5.so
#37 0xb6b927aa in ArrangePacking () from /home/loic/tmp/bluelagoon/lib/libtk8.5.so
#38 0xb6b1a668 in TclServiceIdle () from /home/loic/tmp/bluelagoon/lib/libtcl8.5.so
#39 0xb6afd4a7 in Tcl_DoOneEvent () from /home/loic/tmp/bluelagoon/lib/libtcl8.5.so
#40 0xb6d70d9a in Tkapp_MainLoop (selfptr=0x8892288, args=0x8138c0c) at /home/loic/tmp/bluelagoon/src/Python-2.5.2/Modules/_tkinter.c:2547
#41 0xb7e4c25a in PyCFunction_Call (func=0x88700cc, arg=0x8138c0c, kw=0x0) at Objects/methodobject.c:73
#42 0xb7e99ed6 in PyEval_EvalFrameEx (f=0x8ab9e94, throwflag=0) at Python/ceval.c:3573
#43 0xb7e9b668 in PyEval_EvalCodeEx (co=0x87e0800, globals=0x87d5d74, locals=0x0, args=0x8ab9a18, argcount=0, kws=0x8ab9a18, kwcount=0,
defs=0x88563b8, defcount=1, closure=0x0) at Python/ceval.c:2836
#44 0xb7e99bbc in PyEval_EvalFrameEx (f=0x8ab98d4, throwflag=0) at Python/ceval.c:3669
—Type to continue, or q to quit—
#45 0xb7e9b668 in PyEval_EvalCodeEx (co=0x87d3608, globals=0x87d52d4, locals=0x0, args=0x877f678, argcount=0, kws=0x877f678, kwcount=0,
defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2836
#46 0xb7e99bbc in PyEval_EvalFrameEx (f=0x877f53c, throwflag=0) at Python/ceval.c:3669
#47 0xb7e9b668 in PyEval_EvalCodeEx (co=0xb7c2e5c0, globals=0xb7c18acc, locals=0xb7c18acc, args=0x0, argcount=0, kws=0x0, kwcount=0,
defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2836
#48 0xb7e9b7c3 in PyEval_EvalCode (co=0xb7c2e5c0, globals=0xb7c18acc, locals=0xb7c18acc) at Python/ceval.c:494
#49 0xb7ebdf53 in PyRun_InteractiveOneFlags (fp=0xb7d8a440, filename=0xb7ef36fc “”, flags=0xbfd05ad8) at Python/pythonrun.c:1273
#50 0xb7ebe18b in PyRun_InteractiveLoopFlags (fp=0xb7d8a440, filename=0xb7ef36fc “”, flags=0xbfd05ad8) at Python/pythonrun.c:723
#51 0xb7ebe8d7 in PyRun_AnyFileExFlags (fp=0xb7d8a440, filename=0xb7ef36fc “”, closeit=0, flags=0xbfd05ad8)
at Python/pythonrun.c:692
#52 0xb7ec819f in Py_Main (argc=0, argv=0xbfd05ba4) at Modules/main.c:523
#53 0x080485b2 in main (argc=Cannot access memory at address 0x6
) at ./Modules/python.c:23

The local version of Python use the good version of Tcl/Tk.

=============
TESTING Tkinter

$ wget http://academic.evergreen.edu/curricular/modelingmotion/ExampleCode/gui/hello2.py
–07:55:32-- http://academic.evergreen.edu/curricular/modelingmotion/ExampleCode/gui/hello2.py
=> `hello2.py.1’
Résolution de academic.evergreen.edu… 192.211.16.13
Connexion vers academic.evergreen.edu|192.211.16.13|:80…connecté.
requête HTTP transmise, en attente de la réponse…200 OK
Longueur: 613 [text/plain]

100%[=================================>] 613 --.–K/s

07:55:33 (80.95 MB/s) - « hello2.py » sauvegardé [613/613]

$ python2.5 hello2.py

=> works fine.

======================================
TESTING MATPLOTLIB’MODULES IMPORTATION

I’ve seen oin the archive that there could be issue with pycxx and some version
of gcc, and that trying to import matplotlib submodule could give some clues :
(cf. http://www.mail-archive.com/matplotlib-users@lists.sourceforge.net/msg02822.html)

$ python2.5
Python 2.5.2 (r252:60911, Feb 26 2008, 22:21:12)
[GCC 4.2.3] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.

import matplotlib._image
import matplotlib._transforms
import matplotlib.backends._ns_backend_agg
Traceback (most recent call last):
File “”, line 1, in
ImportError: No module named _ns_backend_agg
import matplotlib.backends._tkagg
import matplotlib._agg

import matplotlib.backends
dir(matplotlib.backends)
[‘all’, ‘builtins’, ‘doc’, ‘file’, ‘name’, ‘path’,
‘_tkagg’, ‘all_backends’, ‘backend’, ‘interactive_bk’, ‘matplotlib’,
‘non_interactive_bk’, ‘pylab_setup’, ‘sys’, ‘time’]

Did this give you any information ?

==========
FINALLY…

Does anybody has a clue ?
I’ve tested to install others versions of gcc, tcl/tk or python, but it didn’t solve the problem.
I’ve tested to make a local installation pycxx-5.4.0, but this didn’t work either.

So, I’m suspecting a prroblem with the fact of making a local installation of
these programs, but I don’t see where.
I’ve added $INSTALL_DIR/lib to both $LD_LIBRARY_PATH and $LD_RUN_PATH, and
$INSTALL_DIR/bin is the first directory of my $PATH.


LB

I have had a similar problem here with python-2.5.1, numpy-1.0.4 and mpl-0.91.2 all installed on my linux (from scratch) system. I reported this last year but ending in a dead end with no one being able to help. My --verbose-debug_annoying output seemed to indicate it had something to do with the loading of the fonts, like yours, but that's all the farther we all got. My work around was to install the prerequisites for GtkAgg and go with that. Everything works fine now using GtkAgg.

I even recently installed ATLAS using lapack so I could install numpy and scipy with their full functionality and was also successful doing that. I'm able to do curve fitting and find roots of polynomials. So I believe the TkAgg backend does have some incompatibilities but no one has a clue as to why. Otherwise, it's all smooth sailing doing it all from scratch.

Take Good Care,

Wayne

LB wrote:

···

I'm still investigating for my segmentation fault pb with matplotlib and Tkagg,
but now, I have no more idea.

I have had a similar problem here with python-2.5.1, numpy-1.0.4 and

mpl-0.91.2 all installed on my linux (from scratch) system. I reported
this last year but ending in a dead end with no one being able to help.

Okay, that’s not very encouraging.
I would have thought that a segmentation fault would have attracted more attention and more answer. besides, i didn’t see any issue in the bug tracker about that. Maybe I should add one report if I find the time.

My --verbose-debug_annoying output seemed to indicate it had something
to do with the loading of the fonts, like yours, but that’s all the

farther we all got. My work around was to install the prerequisites for
GtkAgg and go with that. Everything works fine now using GtkAgg.

Unfortunately, I have to use Tkagg : I need to add some graphs in a Tk-based application…

I even recently installed ATLAS using lapack so I could install numpy
and scipy with their full functionality and was also successful doing

that. I’m able to do curve fitting and find roots of polynomials.

Installing a full numpy-scipy-matplotlib environment is my second goal.
I had some pb with odr and ndimage, which caused the scipy test suite to fail, but now it works.

installing matplotlib is the last barrier.

So I
believe the TkAgg backend does have some incompatibilities but no one

has a clue as to why. Otherwise, it’s all smooth sailing doing it all
from scratch.

Here are my last findings :

  1. I runned my installations script on another computer, a linux 64 bit with Red Hat linux 3, and I had the same pb.

So this bug seems reproductible and do not depend on the architecture or on the distribution.
There’s nothing really extraordinary in these script, but I can send you them if you want.

  1. I tried to compile all these programs in debug mode. I added the options

    –enable-symbols when building tcl, tk and python
    –with-pydebug when compiling python
    –debug when builkding matplotlib.

This doesn’t give more information when running python2.5 test.py --verbose-debug_annoying, but the backtrace in gdb is a little longer :

$ gdb python2.5
GNU gdb 6.7.1-debian
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type “show copying”
and “show warranty” for details.
This GDB was configured as “i486-linux-gnu”…

Using host libthread_db library “/lib/i686/cmov/libthread_db.so.1”.
(gdb) run
Starting program: /home/loic/tmp/bluelagoon/bin/python2.5
[Thread debugging using libthread_db enabled]
Python 2.5.2 (r252:60911, Feb 27 2008, 20:12:29)

[GCC 4.2.3] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
[New Thread 0xb7bd4b60 (LWP 6052)]

from pylab import *
[New Thread 0xb67fbb90 (LWP 6055)]

[378309 refs]

plot([1,2,3])
[<matplotlib.lines.Line2D instance at 0x8bd6cac>]
[384105 refs]
show()

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7bd4b60 (LWP 6052)]

0xb5fe49fc in Bbox::ll_api (this=0x7ffffffb) at src/_transforms.h:362
362 Point* ll_api() {return _ll;}
Current language: auto; currently c++
(gdb) bt
#0 0xb5fe49fc in Bbox::ll_api (this=0x7ffffffb) at src/_transforms.h:362

#1 0xb5fe441b in PyAggImagePhoto (clientdata=0x0, interp=0x8b0ab58, argc=5, argv=0x8d6e028) at src/_tkagg.cpp:91
#2 0xb696cb76 in TclInvokeStringCommand (clientData=0x8d20fe0, interp=0x8b0ab58, objc=5, objv=0xbfe677d4)

at /home/loic/tmp/bluelagoon/src/tcl8.5.1/unix/../generic/tclBasic.c:2105

#3 0xb696e915 in TclEvalObjvInternal (interp=0x8b0ab58, objc=5, objv=0xbfe677d4, command=0x0, length=0, flags=262144)
at /home/loic/tmp/bluelagoon/src/tcl8.5.1/unix/…/generic/tclBasic.c:3647

#4 0xb696eeca in Tcl_EvalObjv (interp=0x8b0ab58, objc=5, objv=0xbfe677d4, flags=262144)
at /home/loic/tmp/bluelagoon/src/tcl8.5.1/unix/…/generic/tclBasic.c:3842
#5 0xb6cd32be in Tkapp_Call (selfptr=0x8bc7348, args=0x8b588ec) at /home/loic/tmp/bluelagoon/src/Python-2.5.2/Modules/_tkinter.c:1327

#6 0xb7df6932 in PyCFunction_Call (func=0x8bcd424, arg=0x8b588ec, kw=0x0) at Objects/methodobject.c:108
#7 0xb7e70fb3 in call_function (pp_stack=0xbfe67e50, oparg=5) at Python/ceval.c:3573
#8 0xb7e6c1c4 in PyEval_EvalFrameEx (f=0x8e1bd1c, throwflag=0) at Python/ceval.c:2272

#9 0xb7e6e880 in PyEval_EvalCodeEx (co=0x8b43e68, globals=0x8b817b4, locals=0x0, args=0x8debbd4, argcount=2, kws=0x8debbdc, kwcount=1,
defs=0x87a39e8, defcount=2, closure=0x0) at Python/ceval.c:2836
#10 0xb7e7154d in fast_function (func=0x8b82c14, pp_stack=0xbfe68530, n=4, na=2, nk=1) at Python/ceval.c:3669

#11 0xb7e71171 in call_function (pp_stack=0xbfe68530, oparg=258) at Python/ceval.c:3594
#12 0xb7e6c1c4 in PyEval_EvalFrameEx (f=0x8deba8c, throwflag=0) at Python/ceval.c:2272
#13 0xb7e6e880 in PyEval_EvalCodeEx (co=0x8ac8f28, globals=0x8a5fdf4, locals=0x0, args=0x8deb570, argcount=1, kws=0x8deb574, kwcount=0,

defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2836

#14 0xb7e7154d in fast_function (func=0x8bc3214, pp_stack=0xbfe68c10, n=1, na=1, nk=0) at Python/ceval.c:3669
#15 0xb7e71171 in call_function (pp_stack=0xbfe68c10, oparg=0) at Python/ceval.c:3594

#16 0xb7e6c1c4 in PyEval_EvalFrameEx (f=0x8deb414, throwflag=0) at Python/ceval.c:2272
#17 0xb7e6e880 in PyEval_EvalCodeEx (co=0x8ac8ec8, globals=0x8a5fdf4, locals=0x0, args=0x879ba90, argcount=2, kws=0x0, kwcount=0,

defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2836

#18 0xb7ddaac5 in function_call (func=0x8bc31c4, arg=0x879ba7c, kw=0x0) at Objects/funcobject.c:517
#19 0xb7db2dd3 in PyObject_Call (func=0x8bc31c4, arg=0x879ba7c, kw=0x0) at Objects/abstract.c:1861

#20 0xb7e71f24 in ext_do_call (func=0x8bc31c4, pp_stack=0xbfe692ec, flags=1, na=1, nk=0) at Python/ceval.c:3853
#21 0xb7e6c424 in PyEval_EvalFrameEx (f=0x8deaa5c, throwflag=0) at Python/ceval.c:2312
#22 0xb7e6e880 in PyEval_EvalCodeEx (co=0x8af4c88, globals=0x8ae8ad4, locals=0x0, args=0xb7b9a948, argcount=20, kws=0x0, kwcount=0,

defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2836

#23 0xb7ddaac5 in function_call (func=0x8b77444, arg=0xb7b9a934, kw=0x0) at Objects/funcobject.c:517
#24 0xb7db2dd3 in PyObject_Call (func=0x8b77444, arg=0xb7b9a934, kw=0x0) at Objects/abstract.c:1861

#25 0xb7dbedfb in instancemethod_call (func=0x8b77444, arg=0xb7b9a934, kw=0x0) at Objects/classobject.c:2519
#26 0xb7db2dd3 in PyObject_Call (func=0x8513374, arg=0x8a6b434, kw=0x0) at Objects/abstract.c:1861
#27 0xb7e70724 in PyEval_CallObjectWithKeywords (func=0x8513374, arg=0x8a6b434, kw=0x0) at Python/ceval.c:3442

#28 0xb6cd5561 in PythonCmd (clientData=0x84f2538, interp=0x8b0ab58, argc=20, argv=0x8d6dfcc)
at /home/loic/tmp/bluelagoon/src/Python-2.5.2/Modules/_tkinter.c:2014
#29 0xb696cb76 in TclInvokeStringCommand (clientData=0x8d86ba8, interp=0x8b0ab58, objc=20, objv=0x8d6df74)

at /home/loic/tmp/bluelagoon/src/tcl8.5.1/unix/../generic/tclBasic.c:2105

#30 0xb696e915 in TclEvalObjvInternal (interp=0x8b0ab58, objc=20, objv=0x8d6df74, command=0xffffffff <Address 0xffffffff out of bounds>,

length=-1, flags=0) at /home/loic/tmp/bluelagoon/src/tcl8.5.1/unix/../generic/tclBasic.c:3647

#31 0xb69c5a80 in TclExecuteByteCode (interp=0x8b0ab58, codePtr=0x8db0670)
at /home/loic/tmp/bluelagoon/src/tcl8.5.1/unix/…/generic/tclExecute.c:2255

#32 0xb69c3763 in Tcl_ExprObj (interp=0x8b0ab58, objPtr=0x8d94aa8, resultPtrPtr=0xbfe6ad1c)
at /home/loic/tmp/bluelagoon/src/tcl8.5.1/unix/…/generic/tclExecute.c:1275
#33 0xb697091c in Tcl_ExprBooleanObj (interp=0x8b0ab58, objPtr=0xb7ef5300, ptr=0xbfe6ad6c)

at /home/loic/tmp/bluelagoon/src/tcl8.5.1/unix/../generic/tclBasic.c:5053

#34 0xb697cd24 in Tcl_IfObjCmd (dummy=0x0, interp=0x8b0ab58, objc=3, objv=0x8d6de44)
at /home/loic/tmp/bluelagoon/src/tcl8.5.1/unix/…/generic/tclCmdIL.c:233

#35 0xb696e915 in TclEvalObjvInternal (interp=0x8b0ab58, objc=3, objv=0x8d6de44,
command=0xbfe6b0b8 “if {"[139539316resize 385 ?? ?? 490 ?? ?? ?? 650 0 0 ?? 0 ?? ?? .146360228 22 ?? ?? ??]" == "break"} break\n”,

—Type to continue, or q to quit—
length=107, flags=0) at /home/loic/tmp/bluelagoon/src/tcl8.5.1/unix/…/generic/tclBasic.c:3647
#36 0xb696f945 in TclEvalEx (interp=0x8b0ab58,

script=0xbfe6b0b8 "if {\"[139539316resize 385 ?? ?? 490 ?? ?? ?? 650 0 0 ?? 0 ?? ?? .146360228 22 ?? ?? ??]\" == \"break\"} break\n",
numBytes=107, flags=131072, line=1) at /home/loic/tmp/bluelagoon/src/tcl8.5.1/unix/../generic/tclBasic.c:4294

#37 0xb696f097 in Tcl_EvalEx (interp=0x8b0ab58,
script=0xbfe6b0b8 “if {"[139539316resize 385 ?? ?? 490 ?? ?? ?? 650 0 0 ?? 0 ?? ?? .146360228 22 ?? ?? ??]" == "break"} break\n”,

numBytes=107, flags=131072) at /home/loic/tmp/bluelagoon/src/tcl8.5.1/unix/../generic/tclBasic.c:4000

#38 0xb6a897e4 in Tk_BindEvent (bindingTable=0x8c3b880, eventPtr=0xbfe6b314, tkwin=0x8c5c508, numObjects=0, objectPtr=0xbfe6b248)

at /home/loic/tmp/bluelagoon/src/tk8.5.1/unix/../generic/tkBind.c:1773

#39 0xb6a90a88 in TkBindEventProc (winPtr=0x8c5c508, eventPtr=0xbfe6b314)
at /home/loic/tmp/bluelagoon/src/tk8.5.1/unix/…/generic/tkCmds.c:284

#40 0xb6a9af04 in Tk_HandleEvent (eventPtr=0xbfe6b314) at /home/loic/tmp/bluelagoon/src/tk8.5.1/unix/…/generic/tkEvent.c:1423
#41 0xb6abfc2e in TkDoConfigureNotify (winPtr=0x8c5c508) at /home/loic/tmp/bluelagoon/src/tk8.5.1/unix/…/generic/tkWindow.c:2216

#42 0xb6abf208 in Tk_MakeWindowExist (tkwin=0x8c5c508) at /home/loic/tmp/bluelagoon/src/tk8.5.1/unix/…/generic/tkWindow.c:1768
#43 0xb6abeef4 in Tk_MapWindow (tkwin=0x8c5c508) at /home/loic/tmp/bluelagoon/src/tk8.5.1/unix/…/generic/tkWindow.c:1641

#44 0xb6ab35ad in ArrangePacking (clientData=0x8c223d0) at /home/loic/tmp/bluelagoon/src/tk8.5.1/unix/…/generic/tkPack.c:820
#45 0xb6a2d483 in TclServiceIdle () at /home/loic/tmp/bluelagoon/src/tcl8.5.1/unix/…/generic/tclTimer.c:738

#46 0xb6a0aa69 in Tcl_DoOneEvent (flags=-3) at /home/loic/tmp/bluelagoon/src/tcl8.5.1/unix/…/generic/tclNotify.c:991
#47 0xb6cd6f1a in Tkapp_MainLoop (selfptr=0x8bc7348, args=0x8256dc4) at /home/loic/tmp/bluelagoon/src/Python-2.5.2/Modules/_tkinter.c:2547

#48 0xb7df67c1 in PyCFunction_Call (func=0x8b943ec, arg=0x8256dc4, kw=0x0) at Objects/methodobject.c:73
#49 0xb7e70fb3 in call_function (pp_stack=0xbfe6bb10, oparg=1) at Python/ceval.c:3573
#50 0xb7e6c1c4 in PyEval_EvalFrameEx (f=0x8de9ffc, throwflag=0) at Python/ceval.c:2272

#51 0xb7e6e880 in PyEval_EvalCodeEx (co=0x8adda48, globals=0x8ae8ad4, locals=0x0, args=0x8de9288, argcount=0, kws=0x8de9288, kwcount=0,
defs=0x8b6e4a8, defcount=1, closure=0x0) at Python/ceval.c:2836
#52 0xb7e7154d in fast_function (func=0x8b6f034, pp_stack=0xbfe6c1f0, n=0, na=0, nk=0) at Python/ceval.c:3669

#53 0xb7e71171 in call_function (pp_stack=0xbfe6c1f0, oparg=0) at Python/ceval.c:3594
#54 0xb7e6c1c4 in PyEval_EvalFrameEx (f=0x8de913c, throwflag=0) at Python/ceval.c:2272
#55 0xb7e6e880 in PyEval_EvalCodeEx (co=0x8ac8ce8, globals=0x8a5fdf4, locals=0x0, args=0x8de9118, argcount=0, kws=0x8de9118, kwcount=0,

defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2836

#56 0xb7e7154d in fast_function (func=0x8bc3084, pp_stack=0xbfe6c8d0, n=0, na=0, nk=0) at Python/ceval.c:3669
#57 0xb7e71171 in call_function (pp_stack=0xbfe6c8d0, oparg=0) at Python/ceval.c:3594

#58 0xb7e6c1c4 in PyEval_EvalFrameEx (f=0x8de8fd4, throwflag=0) at Python/ceval.c:2272
#59 0xb7e6e880 in PyEval_EvalCodeEx (co=0xb7bcc268, globals=0xb7bb9214, locals=0xb7bb9214, args=0x0, argcount=0, kws=0x0, kwcount=0,

defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2836

#60 0xb7e6352c in PyEval_EvalCode (co=0xb7bcc268, globals=0xb7bb9214, locals=0xb7bb9214) at Python/ceval.c:494
#61 0xb7e9c10b in run_mod (mod=0x80b80e0, filename=0xb7ee4b33 “”, globals=0xb7bb9214, locals=0xb7bb9214, flags=0xbfe6cc04,

arena=0x80589a8) at Python/pythonrun.c:1273

#62 0xb7e9a621 in PyRun_InteractiveOneFlags (fp=0xb7d1e440, filename=0xb7ee4b33 “”, flags=0xbfe6cc04) at Python/pythonrun.c:792
#63 0xb7e9a24a in PyRun_InteractiveLoopFlags (fp=0xb7d1e440, filename=0xb7ee4b33 “”, flags=0xbfe6cc04) at Python/pythonrun.c:723

#64 0xb7e9a076 in PyRun_AnyFileExFlags (fp=0xb7d1e440, filename=0xb7ee4b33 “”, closeit=0, flags=0xbfe6cc04)
at Python/pythonrun.c:692
#65 0xb7eaa63b in Py_Main (argc=1, argv=0xbfe6cd14) at Modules/main.c:523

(gdb)

I’m not used to debugging C code or to cope with segmentation faults.
Do you see anything which could give me a clue for fixing this pb ?

Thanks for the reply,

···


LB