Steve Hay wrote:
> Stas Bekman wrote:
>
>
>>Steve Hay wrote:
>>
>>
>>
>>>Using bleadperl (@24099), svn mp2 (rev 159469), Apache 2.0.53 on WinXP I
>>>have t/error/runtime.t failing tests 7, 9, 11.
>>>
>>>Attached is console output and the relevant bits from error_log.
>>>
>>>
>>
>>Could it be related to this change:
>>http://svn.apache.org/viewcvs.cgi/perl/modperl/trunk/t/response/TestError/runtime.pm?rev=156118&r1=70923&r2=156118&diff_format=h
>>
>>i.e. the one that did: s/APR::TIMEUP/APR::EAGAIN/, try reversing it?
>>
>
> Tests 7, 9, 11 are eval_block_mp_error, eval_string_mp_error,
> overload_test respectively.
>
> Reverting the change cited above changes EAGAIN back to TIMEUP in
> eval_block_mp_error and eval_string_mp_error and removes overload_test.
> This removes test 11, and hence removes that failure ;), but tests 7 and
> 9 still fail.
OK, so it's not s/APR::TIMEUP/APR::EAGAIN/. The only thing that has certainly changed is that
the overload of APR::Error now works correctly, which wasn't the case before.
Why your error log doesn't have these logs? Makes it hard to tell real errors from expected
ones.
*** The following error entry is expected and harmless ***
You can see, it's done by t_server_log_error_is_expected(); imported from Apache::TestUtil.
Any chance you could check where it disappears?
So #7 eval_block_mp_error gives us:
eval block has failed: APR::Socket::recv: (730035) A non-blocking socket operation could not
be completed immediately. at C:\\apache2\\source\\mod_perl-2.0\\t\\response/TestError/runtime.pm
line 156 at C:\\apache2\\source\\mod_perl-2.0\\t\\response/TestError/runtime.pm line 114.\n
1) I suppose 730035 is not APR::Const::EAGAIN, so it doesn't retry as the test goes. Or does
it? Try printing:
warn "APR::Const::EAGAIN value: " . APR::Const::EAGAIN+0;
to see what's the error id it matches.
2) If it is (730035) then try to raise the number of tries and see if it makes any difference.
#9 eval_string_mp_error gives us:
eval string has failed: APR::Socket::recv: (730035) A non-blocking socket operation could
not be completed immediately. at (eval 124) line 1 at C:\\apache2\\source\\mod_perl-2.0\\t\\response/TestError/runtime.pm
line 125.\n
This is exactly the same as #7.
#11 overload_test gives us:
'==' overload is broken at C:\\apache2\\source\\mod_perl-2.0\\t\\response/TestError/runtime.pm
line 46.\n
1) it fails here:
die "'==' overload is broken" unless $@ == APR::Const::EAGAIN;
so, it looks again the same issue. You are probably getting a different $@ under windows.
I guess we could find out what is that constant, or try to use a different operation that
will certainly fail and it'll give the same error constant on all platforms. Suggestions are
welcome.
--
__________________________________________________________________
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
|