Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

sax.make_parser() segfaults

7 views
Skip to first unread message

Frank Millman

unread,
Nov 29, 2005, 10:40:24 AM11/29/05
to
Hi all

I am using Python 2.4.1. I have machines running FC4, RH9, and MSW
Server 2003 for testing.

If I call sax.make_parser() from the interpreter or from a stand-alone
program, it works fine on all machines, but in the following setup it
works correctly on MSW, but segfaults on both FC4 and RH9.

The setup is a client program running wxPython as a gui, and Twisted as
a means of connecting to a server. Both wxPython's and Twisted's main
loops seem to be running ok. I have made a remote call to a Twisted
server, which has returned an xml string. In the callback routine, I
print the xml for debugging purposes, which looks fine, then I call
'parser = sax.make_parser()'. At that point it segfaults.

I added a 'print sax' command just before the call to ensure it is
valid. It displays <module 'xml.sax' from
'/usr/lib/python2.4/xml/sax/__init__.pyc'>, which looks correct.

A little digging reveals that the segfault occurs in
xml/parsers/expat.py, when it tries to execute 'from pyexpat import *'.

On FC4 and RH9, pyexpat.so is in python2.4/lib-dynload. On MSW, there
is a pyexpat.pyd in Python24/DLLSs, and a pyexpat.lib in Python24/libs.
I don't know if any of this is relevant, but I thought I would supply
as much info as possible. As mentioned above, I do not have the problem
with MSW.

Any suggestions will be much appreciated.

Thanks

Frank Millman

Frank Millman

unread,
Nov 30, 2005, 1:03:46 AM11/30/05
to

Frank Millman wrote:
> Hi all
>
> I am using Python 2.4.1. I have machines running FC4, RH9, and MSW
> Server 2003 for testing.
>
> If I call sax.make_parser() from the interpreter or from a stand-alone
> program, it works fine on all machines, but in the following setup it
> works correctly on MSW, but segfaults on both FC4 and RH9.
>
> The setup is a client program running wxPython as a gui, and Twisted as
> a means of connecting to a server.

Progress report - I have narrowed it down to wxPython. I wrote small
stand-alone programs, one using Twisted, one using wxPython. Twisted
works fine, wxPython segfaults.

If no-one here can help, I will try asking on the wxPython mailing
list.

Frank

Frank Millman

unread,
Dec 1, 2005, 12:38:00 AM12/1/05
to

Frank Millman wrote:
> > Hi all
> >
> > I am using Python 2.4.1. I have machines running FC4, RH9, and MSW
> > Server 2003 for testing.
> >
> > If I call sax.make_parser() from the interpreter or from a stand-alone
> > program, it works fine on all machines, but in the following setup it
> > works correctly on MSW, but segfaults on both FC4 and RH9.
> >
> > The setup is a client program running wxPython as a gui, and Twisted as
> > a means of connecting to a server.
>
> Progress report - I have narrowed it down to wxPython. I wrote small
> stand-alone programs, one using Twisted, one using wxPython. Twisted
> works fine, wxPython segfaults.
>

No-one? I thought that a error like this in a standard module would be
of some concern, even if it turns out that the fault is with wxPython.

Anyway, I have found a workaround.

I call sax.make_parser() from the main line of the program, before
starting the wxPython main loop. The reference it returns is global,
and can be used anywhere within the program. This seems to work ok.

Frank

Bernhard Herzog

unread,
Dec 1, 2005, 8:56:45 AM12/1/05
to
"Frank Millman" <fr...@chagford.com> writes:

>> > If I call sax.make_parser() from the interpreter or from a stand-alone
>> > program, it works fine on all machines, but in the following setup it
>> > works correctly on MSW, but segfaults on both FC4 and RH9.

[...]


>> Progress report - I have narrowed it down to wxPython. I wrote small
>> stand-alone programs, one using Twisted, one using wxPython. Twisted
>> works fine, wxPython segfaults.

Could this be the following python bug:
https://sourceforge.net/tracker/index.php?func=detail&aid=1075984&group_id=5470&atid=105470

Bernhard

--
Intevation GmbH http://intevation.de/
Skencil http://skencil.org/
Thuban http://thuban.intevation.org/

Frank Millman

unread,
Dec 1, 2005, 9:53:06 AM12/1/05
to

Bernhard Herzog wrote:
> "Frank Millman" <fr...@chagford.com> writes:
>
> >> > If I call sax.make_parser() from the interpreter or from a stand-alone
> >> > program, it works fine on all machines, but in the following setup it
> >> > works correctly on MSW, but segfaults on both FC4 and RH9.
> [...]
> >> Progress report - I have narrowed it down to wxPython. I wrote small
> >> stand-alone programs, one using Twisted, one using wxPython. Twisted
> >> works fine, wxPython segfaults.
>
> Could this be the following python bug:
> https://sourceforge.net/tracker/index.php?func=detail&aid=1075984&group_id=5470&atid=105470
>
> Bernhard
>
> --

The symptoms certainly look the same - thanks for this link.

It also fits in with my workaround, as someone commented 'if you import
pyexpat first, it looks fine', which is effectively what I am doing.

Many thanks for the response.

Frank

0 new messages