You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by Steve Hay <st...@uk.radan.com> on 2005/02/07 18:39:03 UTC

New ModPerl-Registry/t/ithreads.t test fails on Win32

What is it with tests called "ithreads.t"?

Here's what I get @rev151728:

C:\Temp\mod_perl-2.0\ModPerl-Registry>perl t/TEST -verbose t/ithreads
C:\WebDB\apache\bin\Apache.EXE  -d 
C:/Temp/mod_perl-2.0/ModPerl-Registry/t -f 
C:/Temp/mod_perl-2.0/ModPerl-Registry/t/conf/httpd.conf -D APACHE2 -D 
PERL_USEITHREADS
using Apache/2.0.52 (winnt MPM)

waiting 180 seconds for server to start: ....
waiting 180 seconds for server to start: ok (waited 3 secs)
server localhost:8529 started
t\ithreads....1..1
# Running under perl version 5.008006 for MSWin32
# Current time local: Mon Feb  7 17:29:06 2005
# Current time GMT:   Mon Feb  7 17:29:06 2005
# Using Test.pm version 1.25
# Using Apache/Test.pm version 1.21
# Failed test 1 in t\ithreads.t at line 19
# expected: thread 1
# thread 2
# thread 3
# thread 4
# parent
# received: thread 1
# thread 2
# thread 3
# parent
not ok 1
FAILED test 1
        Failed 1/1 tests, 0.00% okay
Failed Test  Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t\ithreads.t                1    1 100.00%  1
Failed 1/1 test scripts, 0.00% okay. 1/1 subtests failed, 0.00% okay.
[warning] server localhost:8529 shutdown
[  error] error running tests (please examine t\logs\error_log)

I don't understand what happened to thread 4 :(

Also, why are there comments in 
ModPerl-Registry/t/cgi-bin/ithreads_io_n_tie.pl about $thr->join leaking 
scalars in this new test but not in the non-registry tests?  I believe 
that the non-registry tests also leak scalars.  It is precisely warnings 
about such things that causes the non-registry ithreads.t test to fail 
for me (by virtue of the "use warnings FATAL => 'all';" line).

- 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.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: New ModPerl-Registry/t/ithreads.t test fails on Win32

Posted by Stas Bekman <st...@stason.org>.
Joe Orton wrote:
> On Mon, Feb 07, 2005 at 05:39:03PM +0000, Steve Hay wrote:
> 
>>What is it with tests called "ithreads.t"?
>>
>>Here's what I get @rev151728:
> 
> 
> This started failing in my Linux builds too as of 2005-02-05 on:
> 
> Perl 5.8.5 on ppc, Perl 5.8.5 on i386, Perl 5.8.3 on i386
> 
> but is passing on:
> 
> Perl 5.8.0 on i386, Perl 5.8.0 on x86_64

threads execution context switching.

> # expected: thread 1
> # thread 2
> # thread 3
> # thread 4
> # parent
> # received: thread 1
> # thread 2
> # thread 3
> # parentthread 4
> not ok 1

Should be fixed in svn. The order is not important for this test.

The better fix would be to join the threads (blocking) before printing in 
the parent, but that's not the point of that test. As XXX states I get 
leaks when adding join(), so I've left those out until someone else or I 
get the time to figure it out.

But this raises an interesting question. What happens if a spawned thread 
didn't have a chance to print before the parent handler has returned. 
Obviously the correct way to program that kind of distributed handler is 
to block in the parent until all threads are done. But still...

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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: New ModPerl-Registry/t/ithreads.t test fails on Win32

Posted by Joe Orton <jo...@redhat.com>.
On Mon, Feb 07, 2005 at 05:39:03PM +0000, Steve Hay wrote:
> What is it with tests called "ithreads.t"?
> 
> Here's what I get @rev151728:

This started failing in my Linux builds too as of 2005-02-05 on:

Perl 5.8.5 on ppc, Perl 5.8.5 on i386, Perl 5.8.3 on i386

but is passing on:

Perl 5.8.0 on i386, Perl 5.8.0 on x86_64

(same results for the last three days)

/tmp/regressj18059/2.0-root/bin/httpd  -d /tmp/regressj18059/mp-2.0/ModPerl-Registry/t -f /tmp/regressj18059/mp-2.0/ModPerl-Registry/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
using Apache/2.0.54-dev (prefork MPM)

waiting 90 seconds for server to start: ..
waiting 90 seconds for server to start: ok (waited 1 secs)
server localhost.localdomain:8529 started
t/ithreads....1..1
# Running under perl version 5.008005 for linux
# Current time local: Mon Feb  7 21:26:16 2005
# Current time GMT:   Mon Feb  7 21:26:16 2005
# Using Test.pm version 1.25
# Using Apache/Test.pm version 1.21
# expected: thread 1
# thread 2
# thread 3
# thread 4
# parent
# received: thread 1
# thread 2
# thread 3
# parentthread 4
not ok 1
FAILED test 1
	Failed 1/1 tests, 0.00% okay
Failed Test  Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/ithreads.t                1    1 100.00%  1
Failed 1/1 test scripts, 0.00% okay. 1/1 subtests failed, 0.00% okay.

Re: New ModPerl-Registry/t/ithreads.t test fails on Win32

Posted by Steve Hay <st...@uk.radan.com>.
Stas Bekman wrote:

>Stas Bekman wrote:
>  
>
>>Steve Hay wrote:
>>
>>    
>>
>>>What is it with tests called "ithreads.t"?
>>>      
>>>
>>it's a forbidden word :)
>>    
>>
>
>BTW, have you tried renaming that test name :)
>
If only it were that simple!



------------------------------------------------
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.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: New ModPerl-Registry/t/ithreads.t test fails on Win32

Posted by Stas Bekman <st...@stason.org>.
Stas Bekman wrote:
> Steve Hay wrote:
> 
>> What is it with tests called "ithreads.t"?
> 
> 
> it's a forbidden word :)

BTW, have you tried renaming that test name :)

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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: New ModPerl-Registry/t/ithreads.t test fails on Win32

Posted by Stas Bekman <st...@stason.org>.
Joe Orton wrote:
> On Tue, Feb 08, 2005 at 08:36:49PM -0500, Stas Bekman wrote:
> 
>>Steve Hay wrote:
>>[...]
>>
>>>>>Yes - adding the sleep 2 before print 'parent' does indeed fix it.  
>>>>>(Your changed version still didn't work without that sleep, though.)
>>>>> 
>>>>>
>>>>
>>>>Yes, I know. And if you uncomment out the 3 join calls? It should work I 
>>>>believe (with the scalar leaked reports though).
>>>>
>>>
>>>If I uncomment the 4 (not 3) join calls then the test does indeed work 
>>>without the sleep. 
>>
>>That's good.
> 
> 
> The change checked in fixed the test for me on all but one Linux box; I 
> can confirm there that uncommenting the join calls or adding a sleep 
> fixes it on that remaining machine too.
> 
> With the join's uncommened I do get four "Scalars leaked: 1" messages
> logged to the error_log too.  Google thinks that is a Perl ithreads bug?
> 
> http://rt.perl.org/rt3/Ticket/Display.html?id=16683

Yeah, most likely, not the first one and not the last one.

I've added the sleep workaround until we resolve the issue with those 
warnings.

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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: New ModPerl-Registry/t/ithreads.t test fails on Win32

Posted by Joe Orton <jo...@redhat.com>.
On Tue, Feb 08, 2005 at 08:36:49PM -0500, Stas Bekman wrote:
> Steve Hay wrote:
> [...]
> >>>Yes - adding the sleep 2 before print 'parent' does indeed fix it.  
> >>>(Your changed version still didn't work without that sleep, though.)
> >>>  
> >>>
> >>
> >>Yes, I know. And if you uncomment out the 3 join calls? It should work I 
> >>believe (with the scalar leaked reports though).
> >>
> >
> >If I uncomment the 4 (not 3) join calls then the test does indeed work 
> >without the sleep. 
> 
> That's good.

The change checked in fixed the test for me on all but one Linux box; I 
can confirm there that uncommenting the join calls or adding a sleep 
fixes it on that remaining machine too.

With the join's uncommened I do get four "Scalars leaked: 1" messages
logged to the error_log too.  Google thinks that is a Perl ithreads bug?

http://rt.perl.org/rt3/Ticket/Display.html?id=16683

joe


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: New ModPerl-Registry/t/ithreads.t test fails on Win32

Posted by Stas Bekman <st...@stason.org>.
Steve Hay wrote:
[...]
>>>Yes - adding the sleep 2 before print 'parent' does indeed fix it.  
>>>(Your changed version still didn't work without that sleep, though.)
>>>   
>>>
>>
>>Yes, I know. And if you uncomment out the 3 join calls? It should work I 
>>believe (with the scalar leaked reports though).
>>
> 
> If I uncomment the 4 (not 3) join calls then the test does indeed work 
> without the sleep. 

That's good.

> There were not obviously any warnings about leaked 
> scalars, either to the console or to the error_log.  However, if I add:
> 
> close STDERR;
> open STDERR, '>C:\Temp\stderr.txt';
> 
> to ithreads_io_n_tie.pl then I do get "Scalars leaked: 2" written to 
> stderr.txt 4 times over.

I get those in error_log. I will try to look at this issue this weekend, 
unless someone beats me to it.

Thanks for testing, Steve.

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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: New ModPerl-Registry/t/ithreads.t test fails on Win32

Posted by Stas Bekman <st...@stason.org>.
futher reduced it to:

#!/usr/bin/perl -T
use threads;

local $0 = "test"; # <== XXX: leaks scalar
my $thr = threads->new(sub {});
$thr->join;        # <== XXX: triggers the leak

Adding Devel::Peek, shows that the leaked scalar is coming from MG_OBJ 
attached to $0 in the thread. This magic object is a taint magic (and it 
happens under -T).

   MAGIC = 0x816e2d8
     MG_VIRTUAL = &PL_vtbl_taint
     MG_TYPE = PERL_MAGIC_taint(t)
     MG_OBJ = 0x816dc1c
     MG_LEN = 2

I've submitted the bug report to p5p.

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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: New ModPerl-Registry/t/ithreads.t test fails on Win32

Posted by Stas Bekman <st...@stason.org>.
Stas Bekman wrote:
> Steve Hay wrote:
> [...]
> 
>> to ithreads_io_n_tie.pl then I do get "Scalars leaked: 2" written to 
>> stderr.txt 4 times over.
> 
> 
> I've reduced the registry case to the plain handler which leaks 2 scalars:
> 
> use threads;
> sub handler : method {   # <== XXX: leaks scalar
>     eval <<'EOI';
> sub Foo::Bar::handler {
>     local $0 = 'mememe'; # <== XXX: leaks scalar
>     my $thr = threads->new(sub { return 1 });
>     $thr->join;          # <== XXX: triggers scalar leak
> }
> EOI
> 
>     Foo::Bar::handler();
> 
>     return 0;
> }
> 
> $thr->join triggers both leaks, the first due to : method attribute, the 
> second due to local $0. I wasn't successful so far to reproduce this 
> outside mp though. I guess my next step is to mess around with gdb.

Actually it does leak outside mp (as a plain perl script), the missing 
part was as usual -T:

Scalars leaked: 1
leaked: sv=0x810078c flags=0x084046007 refcnt=0, Perl interpreter: 0x8099cf0

though I get only one leak on 'local $0;' not on ': method'.

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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: New ModPerl-Registry/t/ithreads.t test fails on Win32

Posted by Stas Bekman <st...@stason.org>.
Steve Hay wrote:
[...]
> to ithreads_io_n_tie.pl then I do get "Scalars leaked: 2" written to 
> stderr.txt 4 times over.

I've reduced the registry case to the plain handler which leaks 2 scalars:

use threads;
sub handler : method {   # <== XXX: leaks scalar
     eval <<'EOI';
sub Foo::Bar::handler {
     local $0 = 'mememe'; # <== XXX: leaks scalar
     my $thr = threads->new(sub { return 1 });
     $thr->join;          # <== XXX: triggers scalar leak
}
EOI

     Foo::Bar::handler();

     return 0;
}

$thr->join triggers both leaks, the first due to : method attribute, the 
second due to local $0. I wasn't successful so far to reproduce this 
outside mp though. I guess my next step is to mess around with gdb.

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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: New ModPerl-Registry/t/ithreads.t test fails on Win32

Posted by Steve Hay <st...@uk.radan.com>.
Stas Bekman wrote:

>Steve Hay wrote:
>  
>
>>Stas Bekman wrote:
>>
>>
>>    
>>
>>>Steve Hay wrote:
>>>
>>>
>>>
>>>      
>>>
>>>># expected: thread 1
>>>># thread 2
>>>># thread 3
>>>># thread 4
>>>># parent
>>>># received: thread 1
>>>># thread 2
>>>># thread 3
>>>># parent
>>>>not ok 1
>>>>FAILED test 1
>>>>      Failed 1/1 tests, 0.00% okay
>>>>Failed Test  Stat Wstat Total Fail  Failed  List of Failed
>>>>-------------------------------------------------------------------------------
>>>>t\ithreads.t                1    1 100.00%  1
>>>>Failed 1/1 test scripts, 0.00% okay. 1/1 subtests failed, 0.00% okay.
>>>>[warning] server localhost:8529 shutdown
>>>>[  error] error running tests (please examine t\logs\error_log)
>>>>
>>>>I don't understand what happened to thread 4 :(
>>>>  
>>>>
>>>>        
>>>>
>>>most likely the thing that I've suggested in reply to Joe. By the time it 
>>>sent its print the parent has returned. Try to add sleep 2 before print 
>>>'parent'. Does it fix the problem (notice that I've committed a change).
>>>
>>>      
>>>
>>Yes - adding the sleep 2 before print 'parent' does indeed fix it.  
>>(Your changed version still didn't work without that sleep, though.)
>>    
>>
>
>Yes, I know. And if you uncomment out the 3 join calls? It should work I 
>believe (with the scalar leaked reports though).
>
If I uncomment the 4 (not 3) join calls then the test does indeed work 
without the sleep.  There were not obviously any warnings about leaked 
scalars, either to the console or to the error_log.  However, if I add:

close STDERR;
open STDERR, '>C:\Temp\stderr.txt';

to ithreads_io_n_tie.pl then I do get "Scalars leaked: 2" written to 
stderr.txt 4 times over.

- 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.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: New ModPerl-Registry/t/ithreads.t test fails on Win32

Posted by Stas Bekman <st...@stason.org>.
Steve Hay wrote:
> Stas Bekman wrote:
> 
> 
>>Steve Hay wrote:
>> 
>>
>>
>>># expected: thread 1
>>># thread 2
>>># thread 3
>>># thread 4
>>># parent
>>># received: thread 1
>>># thread 2
>>># thread 3
>>># parent
>>>not ok 1
>>>FAILED test 1
>>>       Failed 1/1 tests, 0.00% okay
>>>Failed Test  Stat Wstat Total Fail  Failed  List of Failed
>>>-------------------------------------------------------------------------------
>>>t\ithreads.t                1    1 100.00%  1
>>>Failed 1/1 test scripts, 0.00% okay. 1/1 subtests failed, 0.00% okay.
>>>[warning] server localhost:8529 shutdown
>>>[  error] error running tests (please examine t\logs\error_log)
>>>
>>>I don't understand what happened to thread 4 :(
>>>   
>>>
>>
>>most likely the thing that I've suggested in reply to Joe. By the time it 
>>sent its print the parent has returned. Try to add sleep 2 before print 
>>'parent'. Does it fix the problem (notice that I've committed a change).
>>
> 
> Yes - adding the sleep 2 before print 'parent' does indeed fix it.  
> (Your changed version still didn't work without that sleep, though.)

Yes, I know. And if you uncomment out the 3 join calls? It should work I 
believe (with the scalar leaked reports though).

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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: New ModPerl-Registry/t/ithreads.t test fails on Win32

Posted by Steve Hay <st...@uk.radan.com>.
Stas Bekman wrote:

>Steve Hay wrote:
>  
>
>># expected: thread 1
>># thread 2
>># thread 3
>># thread 4
>># parent
>># received: thread 1
>># thread 2
>># thread 3
>># parent
>>not ok 1
>>FAILED test 1
>>        Failed 1/1 tests, 0.00% okay
>>Failed Test  Stat Wstat Total Fail  Failed  List of Failed
>>-------------------------------------------------------------------------------
>>t\ithreads.t                1    1 100.00%  1
>>Failed 1/1 test scripts, 0.00% okay. 1/1 subtests failed, 0.00% okay.
>>[warning] server localhost:8529 shutdown
>>[  error] error running tests (please examine t\logs\error_log)
>>
>>I don't understand what happened to thread 4 :(
>>    
>>
>
>most likely the thing that I've suggested in reply to Joe. By the time it 
>sent its print the parent has returned. Try to add sleep 2 before print 
>'parent'. Does it fix the problem (notice that I've committed a change).
>
Yes - adding the sleep 2 before print 'parent' does indeed fix it.  
(Your changed version still didn't work without that sleep, though.)

- 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.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: New ModPerl-Registry/t/ithreads.t test fails on Win32

Posted by Stas Bekman <st...@stason.org>.
Steve Hay wrote:
> What is it with tests called "ithreads.t"?

it's a forbidden word :)

> # expected: thread 1
> # thread 2
> # thread 3
> # thread 4
> # parent
> # received: thread 1
> # thread 2
> # thread 3
> # parent
> not ok 1
> FAILED test 1
>         Failed 1/1 tests, 0.00% okay
> Failed Test  Stat Wstat Total Fail  Failed  List of Failed
> -------------------------------------------------------------------------------
> t\ithreads.t                1    1 100.00%  1
> Failed 1/1 test scripts, 0.00% okay. 1/1 subtests failed, 0.00% okay.
> [warning] server localhost:8529 shutdown
> [  error] error running tests (please examine t\logs\error_log)
> 
> I don't understand what happened to thread 4 :(

most likely the thing that I've suggested in reply to Joe. By the time it 
sent its print the parent has returned. Try to add sleep 2 before print 
'parent'. Does it fix the problem (notice that I've committed a change).

If so then once I figure out what those leak reports are, the join() 
blocking will fix it w/o sleep.

> Also, why are there comments in 
> ModPerl-Registry/t/cgi-bin/ithreads_io_n_tie.pl about $thr->join leaking 
> scalars in this new test but not in the non-registry tests?  I believe 
> that the non-registry tests also leak scalars. 

only were randomly on linux and only on destroy.

> It is precisely warnings 
> about such things that causes the non-registry ithreads.t test to fail 
> for me (by virtue of the "use warnings FATAL => 'all';" line).

yeah, I had little time when I wrote this test and my objective was to 
find workarounds to the perl_clone+perlio bug in perl, not deal with 
perl's ithreads bugs :) but I plan to revisit that when I will finish my 
other short term todo lists. 5.6.7 should be out in a month, so we may 
need to shake that threads thingy again before that happens.


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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org