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