|
From: John H. <jdh...@ac...> - 2004-06-24 13:21:52
|
>>>>> "Gregory" == Gregory Lielens <gre...@ff...> writes:
Gregory> I checked on another WinXP computer, and it works on this
Gregory> one - seems that I have to play the windows re-install
Gregory> game, or hunt down what the exact differences between
Gregory> these 2 WinXP computers are :-/... The fact that only
Gregory> matplotlib exhibit this behavior is strange though, I
Gregory> checked in the code (hence cc to the devel list) and the
Gregory> problem is linked to an assert in the destructor of
Gregory> PythonExtensionBase, checking that the ref counting of
Gregory> this object is 0 and exiting Python interpreter if it is
Gregory> not the case...Hum, obviously I do not know the code at
Gregory> all, but could the problem be linked to a destruction
Gregory> sequence beeing somewhat different on my computer (for
Gregory> whatever reasons :-/)? This worry me (in addition to
Gregory> bother me not beeing able to run matplotlib on my laptop
Gregory> for the moment ;-) ), cause it may be the sign of
Gregory> "difficult to solve and reproduce" installation problems
Gregory> for a package we may use in a distributed software
Gregory> package in the future... I will keep investigating, but
Gregory> if there is a developer have any idea about this (like, a
Gregory> hint about why there is this assert there and what can
Gregory> cause it to fail), it would be great!
CXX is the python wrapper generator code used to write most of the C++
python extensions that matplotlib uses. Among other things, it helps
automate reference counting for python objects, but in many cases
needs some assistance from the operator (me). Since I've been
actively working on the reference counts in a number of parts of the
code to fix some memory leaks, there is a good chance that I screwed
up somewhere.
There are two things that would be useful to know:
* Is this specific to python 2.3.4? Is this the same version of
python on all the machines you tested, or is there a difference
between the python versions on the machines that crashed and the
machine that worked? I also tested on Windows XP with no
problems, using the enthought edition of python.
* If instead of importing TkAgg, you simply import Agg, on a machine
that crashes, do you still get the crash? It would be nice to
narrow the focus.
I have done a fair amount of work since 0.54.2 fixing more memory
leaks - there is always a possibility that the problem has already
been fixed. If you can provide the information above, I can send you
a debug build of the current development snapshot that might provide
more information. Basically, it prints each function call to
stdout which sometimes help debug a segfault and other errors.
Thanks for your help,
JDH
|