Skip navigation.
Home

Python programs segfault opening their options boxes

This is due to an expat version mismatch. See: httpPython bug #1075984 | httprox-devel thread

Kerofin writes:

I've looked at the program that was dumping core and the sequence is this:
1) Program imports pygtk, which links in the GTK libraries
2) Program loads SVG image which links in librsvg.so which in turn links in /usr/local/lib/libexpat.so
3) Program imports pyexpat.
4) pyexpat calls XML_ErrorString, but as ld.so has already linked in XML_ErrorString from /usr/local/lib/libexpat.so it calls that version, not the one in pyexpat.so.
5) pyexpat looks up an error defined by the later version of expat it is expecting and gets a NULL pointer from the earlier version it has. It attempts to use it without checking (strlen) and dumps core.

Solution

Presumably, this can be fixed by upgrading to a later version of libexpat? If your system is affected, please add a comment giving the versions of Python and expat that are causing the problem, and whether upgrading helped.

Syndicate content