perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Hay <steve....@uk.radan.com>
Subject Re: Fix perl/ithreads random failures
Date Wed, 08 Dec 2004 13:38:42 GMT
Gisle Aas wrote:

>I had to do tests with an older version of mod_perl_1.99 that still
>had the perl/ithreads* tests.  I see that these tests was removed from
>the distribution in [1], but I think that if you apply the attached
>patch you can start distribution these tests again.
>
>[1] http://cvs.apache.org/viewcvs.cgi/modperl-2.0/lib/ModPerl/Manifest.pm?r1=1.9&r2=1.10
>
mp2 is now in svn, not cvs.  Check-out the latest svn revision as 
described at:

http://perl.apache.org/download/source.html#Development_mod_perl_2_0_Source_Distribution

and you can try that rather than having to go back to an older version.  
The test file, of course, is in the dev source, but is currently marked 
as under construction:

http://svn.apache.org/repos/asf/perl/modperl/trunk/t/perl/ithreads.t

Anyway, I tried your patch (with the ithreads test re-instated) and 
sadly it didn't fix it for me :(  The complete diff of changes that I 
made to my svn checkout (revision 111269) are at the end of this mail.

The following test sequence still fails every time for me:

perl t/TEST -verbose t/modules/reload.t t/perl/api.t t/perl/ithreads.t

on WinXP with Apache 2.0.50 and Perl 5.8.5.

- Steve

Index: t/response/TestPerl/ithreads.pm
===================================================================
--- t/response/TestPerl/ithreads.pm     (revision 111269)
+++ t/response/TestPerl/ithreads.pm     (working copy)
@@ -57,7 +57,10 @@
                                    $counter_shar += $counter_shar for 
1..10;
                                });
         $counter_priv += $counter_priv for 1..10;
-        $counter_shar += $counter_shar for 1..10;
+        {
+           lock $counter_shar;
+           $counter_shar += $counter_shar for 1..10;
+       }
         $thr->join;
         ok t_cmp($counter_shar, 2**20, "shared counter");
         ok t_cmp($counter_priv, 2**10, "private counter");
Index: t/perl/ithreads.t
===================================================================
--- t/perl/ithreads.t   (revision 111269)
+++ t/perl/ithreads.t   (working copy)
@@ -11,10 +11,9 @@

 # perl < 5.6.0 fails to compile code with 'shared' attributes, so we 
must skip
 # it here.
-#unless ($] >= 5.008001 && $Config{useithreads}) {
-#    plan tests => 1, need
-#        {"perl 5.8.1 or higher w/ithreads enabled is required" => 0};
-#}
-plan tests => 1, under_construction;
+unless ($] >= 5.008001 && $Config{useithreads}) {
+    plan tests => 1, need
+        {"perl 5.8.1 or higher w/ithreads enabled is required" => 0};
+}

 print GET_BODY_ASSERT "/TestPerl__ithreads";



------------------------------------------------
Radan Computational Ltd.

We would like to take this opportunity to wish all our customers, suppliers and colleagues
seasons greetings.  We will not be sending corporate greetings cards this year.  Instead,
we will be making a donation to charity.

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.
Mime
View raw message