William McKee wrote:
On Tue, Jun 07, 2005 at 11:40:49PM +1000, Stas Bekman wrote:

Something is not right here. Your perl is not threaded:

However the segfault shows threads operation:


#0  0x882fa1d7 in kill () from /lib/libc.so.5
(gdb) bt
#0  0x882fa1d7 in kill () from /lib/libc.so.5
#1  0x882ef27e in raise () from /lib/libc.so.5
#2  0x88361627 in abort () from /lib/libc.so.5
#3  0x885d9c3f in _thread_exit () from /usr/lib/libc_r.so.5
#4  0x885d8311 in _thread_init () from /usr/lib/libc_r.so.5
#5  0x885cf1cc in _thread_init_hack () from /usr/lib/libc_r.so.5
#6  0x885db322 in _find_thread () from /usr/lib/libc_r.so.5


Looking further down, you'll see that it's DynaLoader which passes the
operation out beyond Perl. Could I be using a threaded version of
DynaLoader?

ldd it and you will see what's linked against.

The error seems to be coming from Perl_yyparse, have you tried preloading that module at the server startup?

This is a very custom Perl compile as you can see from the compile args.
In an attempt to include some system modules, I may have included a path
with an XS file built by a threaded version of Perl. Is there a way to
figure this out or is it best to just rebuild without these custom
paths?

I can't tell w/o being able to reproduce the segfault. It's strange that it gets into threads on the non-threaded perl, but maybe that's how things work on freebsd.

BTW, have you tried googling for that _thread_exit segfault trace on freebsd 5.3?

--
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

Reply via email to