Python Coredump on FreeBSD

Andrew MacIntyre andymac at bullseye.apana.org.au
Wed May 21 08:14:03 EDT 2003


On Tue, 20 May 2003, Harald Schneider wrote:

> I tried several things to isolate the code that causes the bug -- without
> success :-/
>
> It's not
> - a certain pattern and
> - its not the amount of pattern test and
> - not the size or sort of strings being tested.
>
> It must be the interaction between limited thread resources (64K stack)
> under FreeBSD and some issue in the re module ...
> The only thing I know for sure is that pcre runs as stable as a rock ...
> sorry that I can't squeece out more informations from that issue ...

I've also done a little experimentation on the issue I'm seeing (bus error
in test_re), and have concluded its related to FreeBSD's pthreads :-(

./configure --without-threads

produces an interpreter that survives the test easily.  What I'm seeing in
the pthreads case indicates the thread stack size is not coming into play
as test_re doesn't use threads, so the problem is in the "primary" thread.
AFACT, the "primary" thread is still using the normal stack (which in my
case is effectively limited only by memory availability).

Unless your app is using threads, and the regex match is called from other
than the "primary" thread, the thread stack size issue won't be affecting
you either.

The problem you see is most probably related to a particular recursive
pattern on a particular dataset...

If you had the chance to build an interpreter without threads, it would be
useful to confirm whether your problem also relates to linking against
libc_r rather than libc.

--
Andrew I MacIntyre                     "These thoughts are mine alone..."
E-mail: andymac at bullseye.apana.org.au  (pref) | Snail: PO Box 370
        andymac at pcug.org.au             (alt) |        Belconnen  ACT  2616
Web:    http://www.andymac.org/               |        Australia





More information about the Python-list mailing list