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:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com


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



Reply via email to