Steve Hay wrote:
>the following sequence (with one extra test) fails
>as before:
>
> filter/in_error.t modules/reload.t perl/api.t perl/ithreads.t
>
>As before, ithreads.t causes the (only) Apache.exe to crash
>
The "crash" really is the same as before. (Have a look at
http://marc.theaimsgroup.com/?t=110141084300003&r=1&w=2 if you need
reminding.)
The server crashes because of the
use warnings FATAL => 'all';
line in ithreads.pm. Commenting that out and inserting this into
ithreads.pm's handler():
close STDERR;
open STDERR, '>C:\\Temp\\stderr.txt';
together with an sv_dump(sv) in threads.xs just before the offending
SvREFCNT_dec(sv) (line 476, in perl 5.8.6) I now get the output in the
attached stderr.txt file.
As you can see, the warning that causes the crash is exactly as before,
so we still haven't fixed it after all :(
Lines 47 and 64 in ithreads.pm, referred to in the stderr.txt output,
are the last lines of the two
my $thr = threads->new(sub {
...
});
blocks.
One thought that I just about this stuff: I know that Linux users have
always been unable to reproduce this behaviour. Which malloc() are you
using? I'm using Perl's malloc() now (although admittedly I was using
the system malloc() before). If you're using the system malloc() it
might just be worth a try with Perl's malloc() instead to see if it
makes any difference.
- Steve
------------------------------------------------
Radan Computational Ltd.
The information contained in this message and any files transmitted with it are
confidential and intended for the addressee(s) only. If you have received this
message in error or there are any problems, please notify the sender
immediately. The unauthorized use, disclosure, copying or alteration of this
message is strictly forbidden. Note that any views or opinions presented in
this email are solely those of the author and do not necessarily represent
those of Radan Computational Ltd. The recipient(s) of this message should
check it and any attached files for viruses: Radan Computational will accept no
liability for any damage caused by any virus transmitted by this email.
SV = IV(0x7ec1970) at 0x8576200
REFCNT = 1
FLAGS = (TEMP,IOK,pIOK)
IV = 120000
Attempt to free temp prematurely: SV 0x8576200, Perl interpreter: 0x4eb2be8 at
C:\Temp\mod_perl-2.0\t\response/TestPerl/ithreads.pm line 47.
SV = PVMG(0x856d548) at 0x8573bbc
REFCNT = 1
FLAGS = (TEMP,GMG,SMG,pPOK)
IV = 0
NV = 0
PV = 0x856a688 "ModPerl::Util::exit: (120000) exit was called at
C:\\Temp\\mod_perl-2.0\\Apache-Test\\lib/Apache/Test.pm line 237"\0
CUR = 109
LEN = 110
MAGIC = 0x8573548
MG_VIRTUAL = &PL_vtbl_taint
MG_TYPE = PERL_MAGIC_taint(t)
MG_LEN = 1
Attempt to free temp prematurely: SV 0x8573bbc, Perl interpreter: 0x4eb2be8 at
C:\Temp\mod_perl-2.0\t\response/TestPerl/ithreads.pm line 47.
SV = PVMG(0x856d548) at 0x8573bbc
REFCNT = 1
FLAGS = (TEMP,GMG,SMG,pPOK)
IV = 0
NV = 0
PV = 0x856a688 "ModPerl::Util::exit: (120000) exit was called at
C:\\Temp\\mod_perl-2.0\\Apache-Test\\lib/Apache/Test.pm line 237"\0
CUR = 109
LEN = 110
MAGIC = 0x8573548
MG_VIRTUAL = &PL_vtbl_taint
MG_TYPE = PERL_MAGIC_taint(t)
MG_LEN = 1
Attempt to free temp prematurely: SV 0x8573bbc, Perl interpreter: 0x4eb2be8 at
C:\Temp\mod_perl-2.0\t\response/TestPerl/ithreads.pm line 47.
Scalars leaked: 2
SV = IV(0x842f1b0) at 0x83fa91c
REFCNT = 1
FLAGS = (TEMP,IOK,pIOK)
IV = 120000
Attempt to free temp prematurely: SV 0x83fa91c, Perl interpreter: 0x4eb3ce0 at
C:\Temp\mod_perl-2.0\t\response/TestPerl/ithreads.pm line 64.
SV = PVMG(0x7f51988) at 0x83f92d8
REFCNT = 1
FLAGS = (TEMP,GMG,SMG,pPOK)
IV = 0
NV = 0
PV = 0x83f8a08 "ModPerl::Util::exit: (120000) exit was called at
C:\\Temp\\mod_perl-2.0\\Apache-Test\\lib/Apache/Test.pm line 237"\0
CUR = 109
LEN = 110
MAGIC = 0x83f8748
MG_VIRTUAL = &PL_vtbl_taint
MG_TYPE = PERL_MAGIC_taint(t)
MG_LEN = 1
Attempt to free temp prematurely: SV 0x83f92d8, Perl interpreter: 0x4eb3ce0 at
C:\Temp\mod_perl-2.0\t\response/TestPerl/ithreads.pm line 64.
SV = PVMG(0x7f51988) at 0x83f92d8
REFCNT = 1
FLAGS = (TEMP,GMG,SMG,pPOK)
IV = 0
NV = 0
PV = 0x83f8a08 "ModPerl::Util::exit: (120000) exit was called at
C:\\Temp\\mod_perl-2.0\\Apache-Test\\lib/Apache/Test.pm line 237"\0
CUR = 109
LEN = 110
MAGIC = 0x83f8748
MG_VIRTUAL = &PL_vtbl_taint
MG_TYPE = PERL_MAGIC_taint(t)
MG_LEN = 1
Attempt to free temp prematurely: SV 0x83f92d8, Perl interpreter: 0x4eb3ce0 at
C:\Temp\mod_perl-2.0\t\response/TestPerl/ithreads.pm line 64.
Scalars leaked: 2
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]