Philippe M. Chiasson wrote:

>Stas Bekman wrote:
>  
>
>>Steve Hay wrote:
>>
>>    
>>
>>>>>Next I want you to try cutting off things from startup files and 
>>>>>httpd.conf, to find whether it's some unrelated module that is 
>>>>>loaded that causes the problem. I suspect that because the sister 
>>>>>test t/perl/ithreads2.t doesn't fail, and it runs exactly the same 
>>>>>code, but inside a dedicated interpreter pool, which doesn't load 
>>>>>any other modules.
>>>>>          
>>>>>
>>>>Will try (again), but I've tried this before and got nowhere with it :(
>>>>
>>>>        
>>>>
>>>While trawling through the httpd.conf file I found a couple of what 
>>>look like errors:  Two places say "PERL_ITHREADS" instead of 
>>>"PERL_USEITHREADS".  Correcting these apparent mistakes fixes the 
>>>broken test sequence previously reported!
>>>      
>>>
>>[...]
>>
>>    
>>
>>>After making this change I found that reload.t now fails test 2.  This 
>>>patch (against current CVS, since I can't get SVN working) fixes that:
>>>
>>>Index: t/modules/reload.t
>>>===================================================================
>>>RCS file: /home/cvspublic/modperl-2.0/t/modules/reload.t,v
>>>retrieving revision 1.4
>>>diff -u -u -r1.4 reload.t
>>>--- t/modules/reload.t  11 Sep 2004 01:02:28 -0000      1.4
>>>+++ t/modules/reload.t  26 Nov 2004 18:05:21 -0000
>>>@@ -53,7 +53,7 @@
>>> touch_mtime($test_file);
>>>
>>> {
>>>-    my $expected = join '', map { "$_:" . uc($_) . "\n" } sort @tests;
>>>+    my $expected = join '', map { "$_:$_\n" } sort @tests;
>>>     my $received = get_body($same_interp, \&GET, $location);
>>>     $skip++ unless defined $received;
>>>     skip_not_same_interp(
>>>      
>>>
>
>That's not a correct fix to the problem. reload.t is apparently now failing for
>you, and this patch just ignores the failure. 
>
OK, current state of play is this:

With fresh svn check-out, all tests pass OK if I skip t/perl/ithreads, 
but with t/perl/ithreads the server crashes on that test.

As before, this sequence reliably fails:

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

It still fails with the attached much-shortened conf file.  Note that 
I've commented-out a top-level PerlInterpScope directive, in line with 
recent changes.  If I re-instate that directive then t/perl/ithreads no 
longer crashes, but t/modules/reload fails as described above.

Are we sure that the PerlInterpScope directive should not be at the 
top-level?  If so, then reload.t is OK and we still have ithreads.t to fix.

I'll try whittling down the conf even further.

- 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.
<IfModule !mod_perl.c>
    LoadFile "C:\apache2\perl5\bin\perl58.dll"
LoadModule perl_module "C:\Temp\mod_perl-2.0\src\modules\perl\mod_perl.so"
</IfModule>

<IfModule !mod_alias.c>
    LoadModule alias_module "C:\apache2\modules\mod_alias.so"
</IfModule>

<IfModule !mod_dir.c>
    LoadModule dir_module "C:\apache2\modules\mod_dir.so"
</IfModule>

<IfModule !mod_mime.c>
    LoadModule mime_module "C:\apache2\modules\mod_mime.so"
</IfModule>

ServerName localhost:8529
Listen     0.0.0.0:8529

ServerRoot   "C:/Temp/mod_perl-2.0/t"
DocumentRoot "C:/Temp/mod_perl-2.0/t/htdocs"

PidFile     C:/Temp/mod_perl-2.0/t/logs/httpd.pid
ErrorLog    C:/Temp/mod_perl-2.0/t/logs/error_log
LogLevel    debug

ServerAdmin [EMAIL PROTECTED]

#needed for http/1.1 testing
KeepAlive       On

HostnameLookups Off

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

<IfModule mpm_winnt.c>
    ThreadsPerChild      50
    MaxRequestsPerChild  0
</IfModule>

TypesConfig "C:\apache2\conf\mime.types"
Include "C:\Temp\mod_perl-2.0\t\conf\extra.conf"
PerlPassEnv APACHE_TEST_TRACE_LEVEL
PerlSwitches -Mlib=C:/Temp/mod_perl-2.0/t
PerlRequire C:\Temp\mod_perl-2.0\t\conf\modperl_startup.pl

#<IfDefine PERL_USEITHREADS>
#    PerlInterpScope handler
#</Ifdefine>

PerlModule Apache::Reload
<Location /TestModules__reload>
    PerlInitHandler Apache::TestHandler::same_interp_fixup Apache::Reload
    PerlSetVar ReloadDebug Off
    PerlSetVar ReloadAll Off
    SetHandler modperl
    PerlResponseHandler TestModules::reload
</Location>

<Location /TestPerl__api>
    SetHandler modperl
    PerlResponseHandler TestPerl::api
</Location>

PerlModule TestPerl::hash_attack
# call twice to verify an access to the same hash value after the rehash
<Location /TestPerl__hash_attack>
    PerlInitHandler TestPerl::hash_attack::init
    PerlFixupHandler TestPerl::hash_attack::fixup TestPerl::hash_attack::fixup
    SetHandler modperl
    PerlResponseHandler TestPerl::hash_attack
</Location>

# APACHE_TEST_CONFIG_ORDER 941
Listen 0.0.0.0:8557
<VirtualHost _default_:8557>
    ServerName localhost:8557
    
    <IfDefine PERL_USEITHREADS>
        # a new interpreter pool
        PerlOptions +Parent
        PerlInterpStart         1
        PerlInterpMax           1
        PerlInterpMinSpare      1
        PerlInterpMaxSpare      1
    </IfDefine>
    
    # use test system's @INC
    PerlSwitches -IC:/Temp/mod_perl-2.0/t
    PerlRequire "conf/modperl_inc.pl"
    PerlModule Apache2
    
    <Location /TestPerl__ithreads>
        SetHandler modperl
        PerlResponseHandler TestPerl::ithreads
    </Location>
    
</Virtualhost>

<Location /TestPerl__ithreads>
    SetHandler modperl
    PerlResponseHandler TestPerl::ithreads
</Location>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to