Eric Cholet <[EMAIL PROTECTED]> writes:
diff -ru modperl-2.0_20050116053812/src/modules/perl/modperl_perl_includes.h modperl-2.0-hack/src/modules/perl/modperl_perl_includes.h --- modperl-2.0_20050116053812/src/modules/perl/modperl_perl_includes.h 2005-01-13 06:46:07.000000000 +0100 +++ modperl-2.0-hack/src/modules/perl/modperl_perl_includes.h 2005-01-16 11:51:09.986693975 +0100 @@ -146,6 +146,7 @@ #define MP_PERL_FREE_THREAD_KEY_WORKAROUND \ if (PL_curinterp) { \ FREE_THREAD_KEY; \ + PL_curinterp = NULL; \ } #else #define MP_PERL_FREE_THREAD_KEY_WORKAROUND
also fixes darwin w/ threaded Perl + worker
This sounds suspicions to me. Doesn't this mean that MP_PERL_FREE_THREAD_KEY_WORKAROUND runs twice in this setup. Can you explain why this would happen?
Without that patch, on darwin with perl-5.8.1-ithreads, I get the following backtrace on startup:
Program received signal EXC_BAD_ACCESS, Could not access memory. 0x02432910 in S_mess_alloc (my_perl=0x0) at util.c:818 818 if (!PL_dirty) (gdb) bt #0 0x02432910 in S_mess_alloc (my_perl=0x0) at util.c:818 #1 0x02432db4 in Perl_vmess (my_perl=0x0, pat=0x252fc5c "panic: pthread_setspecific", args=0xbffff2a4) at util.c:946 #2 0x02434260 in Perl_vcroak (my_perl=0x0, pat=0x252fc5c "panic: pthread_setspecific", args=0xbffff2a4) at util.c:1146 #3 0x02434bd4 in Perl_croak_nocontext (pat=0x252fc5c "panic: pthread_setspecific") at util.c:1216 #4 0x023b5a4c in perl_alloc () at perl.c:144 #5 0x02206490 in modperl_startup (s=0x1807fb8, p=0x1806218) at mod_perl.c:237 #6 0x022063c0 in modperl_startup (s=0x1807fb8, p=0x1806218) at mod_perl.c:207 #7 0x02207df4 in modperl_init (base_server=0x1807fb8, p=0x1806218) at mod_perl.c:453 #8 0x02208450 in modperl_hook_init (pconf=0x1806218, plog=0x0, ptemp=0x0, s=0x1807fb8) at mod_perl.c:613 #9 0x022084a8 in modperl_run () at mod_perl.c:624 #10 0x0221067c in modperl_cmd_load_module (parms=0xbffff850, mconfig=0x1843ff8, arg=0x1971b78 "TestCompat::apache_module") at modperl_cmd.c:650 #11 0x00020498 in invoke_cmd (cmd=0x2240be0, parms=0xbffff850, mconfig=0x1843ff8, args=0x1971b78 "TestCompat::apache_module") at config.c:796 #12 0x00020bc4 in ap_walk_config_sub (current=0x1971b58, parms=0xbffff850, section_vector=0x183de50) at config.c:1059 #13 0x00020c64 in ap_walk_config (current=0x2240be0, parms=0xbffff850, section_vector=0x1971b58) at config.c:1098 #14 0x00021a08 in ap_process_config_tree (s=0x1807fb8, conftree=0x183de50, p=0x2240be0, ptemp=0xbffff850) at config.c:1641 #15 0x0000ae18 in main (argc=11, argv=0xbffffa00) at main.c:595
-------------------------------------------------------------------------------- Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5 http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5
signature.asc
Description: OpenPGP digital signature
