Gisle Aas wrote:
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

Attachment: signature.asc
Description: OpenPGP digital signature



Reply via email to