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]