You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by Markus Wichitill <ma...@gmx.de> on 2004/08/19 21:22:23 UTC

[mp2] t\apache\discard_rbody.t smoked

SMOKE found another failing test combination on Win32:

perl t\TEST -v t\preconnection\note.t t\filter\in_str_bin_data.t 
t\filter\out_str_declined.t t\apache\discard_rbody.t

t\apache\discard_rbody.......1..3
# Running under perl version 5.008005 for MSWin32
# Current time local: Thu Aug 19 17:44:26 2004
# Current time GMT:   Thu Aug 19 15:44:26 2004
# Using Test.pm version 1.25
# Using Apache/Test.pm version 1.13
# testing : data consumption: none
# expected: none
# received: 500 Unknown error
# Failed test 1 in t\apache\discard_rbody.t at line 15
not ok 1

[Thu Aug 19 17:15:07 2004] [info] (OS 10053)An established connection was 
aborted by the software in your host machine. : core_output_filter: writing 
data to the network

After dropping out_str_declined.t, the next subtest fails instead (same log 
error):

perl t\TEST -v t\preconnection\note.t t\filter\in_str_bin_data.t 
t\apache\discard_rbody.t

t\apache\discard_rbody......1..3
# Running under perl version 5.008005 for MSWin32
# Current time local: Thu Aug 19 20:41:43 2004
# Current time GMT:   Thu Aug 19 18:41:43 2004
# Using Test.pm version 1.25
# Using Apache/Test.pm version 1.13
# testing : data consumption: none
# expected: none
# received: none
ok 1
# Failed test 2 in t\apache\discard_rbody.t at line 15 fail #2
# testing : data consumption: partial
# expected: partial
# received: 500 Unknown error
not ok 2

Apache/Perl info is the same as in my in_bbs_inject_header.t thread.

Hm, actually I get various SMOKE failures every time I run that thing on 
either Win32 or Linux. Maybe I should just stop doing that...


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] t\apache\discard_rbody.t smoked

Posted by Stas Bekman <st...@stason.org>.
Markus Wichitill wrote:
> Stas Bekman wrote:
> 
>> OK, reverting my last patch (back to normal cvs) and trying this one?
> 
> 
> No change.

That should probably be right, since the error happens after the response 
is sent (observer 200 codes in access_log). So what do you think could be 
the cause of the dropped connection?

-- 
__________________________________________________________________
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


Re: [mp2] t\apache\discard_rbody.t smoked

Posted by Markus Wichitill <ma...@gmx.de>.
Stas Bekman wrote:
> OK, reverting my last patch (back to normal cvs) and trying this one?

No change.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] t\apache\discard_rbody.t smoked

Posted by Stas Bekman <st...@stason.org>.
Markus Wichitill wrote:
> Stas Bekman wrote:
> 
>>>> The access log says that the failing test wasn't really failing, as 
>>>> you can see the stamp 200, so it must be some glitch on the data 
>>>> transport level. Could it be a fault of LWP? Try the same test after 
>>>> you have set:
>>>> APACHE_TEST_PRETEND_NO_LWP=1, in which case it won't use LWP as the 
>>>> client and talk directly through the socket...
>>
>>
>>>     not ok 2
>>
>>
>> OK, so that's not it. Any difference with this patch?
> 
> 
> Nope.
> 
> I've noticed that there's randomness involved, with or without the 
> patch. Sometimes the test succeeds, and somestimes it's #1 or #3 instead 
> of #2, although the latter fails more often.

OK, reverting my last patch (back to normal cvs) and trying this one?

Index: t/conf/modperl_extra.pl
===================================================================
RCS file: /home/cvs/modperl-2.0/t/conf/modperl_extra.pl,v
retrieving revision 1.60
diff -u -r1.60 modperl_extra.pl
--- t/conf/modperl_extra.pl	12 Aug 2004 23:38:02 -0000	1.60
+++ t/conf/modperl_extra.pl	19 Aug 2004 23:38:36 -0000
@@ -158,40 +158,7 @@
  # t/TEST -trace=debug -start
  sub ModPerl::Test::read_post {
      my $r = shift;
-    my $debug = shift || 0;
-
-    my $bb = APR::Brigade->new($r->pool,
-                               $r->connection->bucket_alloc);
-
-    my $data = '';
-    my $seen_eos = 0;
-    my $count = 0;
-    do {
-        $r->input_filters->get_brigade($bb, Apache::MODE_READBYTES,
-                                       APR::BLOCK_READ, IOBUFSIZE);
-
-        $count++;
-
-        warn "read_post: bb $count\n" if $debug;
-
-        for (my $b = $bb->first; $b; $b = $bb->next($b)) {
-            if ($b->is_eos) {
-                warn "read_post: EOS bucket:\n" if $debug;
-                $seen_eos++;
-                last;
-            }
-
-            if ($b->read(my $buf)) {
-                warn "read_post: DATA bucket: [$buf]\n" if $debug;
-                $data .= $buf;
-            }
-
-            $b->remove; # optimization to reuse memory
-        }
-
-    } while (!$seen_eos);
-
-    $bb->destroy;
+    my $len = $r->read(my $data, $r->headers_in->{'Content-Length'});

      return $data;
  }

-- 
__________________________________________________________________
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


Re: [mp2] t\apache\discard_rbody.t smoked

Posted by Markus Wichitill <ma...@gmx.de>.
Stas Bekman wrote:
>>> The access log says that the failing test wasn't really failing, as 
>>> you can see the stamp 200, so it must be some glitch on the data 
>>> transport level. Could it be a fault of LWP? Try the same test after 
>>> you have set:
>>> APACHE_TEST_PRETEND_NO_LWP=1, in which case it won't use LWP as the 
>>> client and talk directly through the socket...
> 
>>     not ok 2
> 
> OK, so that's not it. Any difference with this patch?

Nope.

I've noticed that there's randomness involved, with or without the patch. 
Sometimes the test succeeds, and somestimes it's #1 or #3 instead of #2, 
although the latter fails more often.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] t\apache\discard_rbody.t smoked

Posted by Stas Bekman <st...@stason.org>.
Markus Wichitill wrote:
> Stas Bekman wrote:
> 
>> The access log says that the failing test wasn't really failing, as 
>> you can see the stamp 200, so it must be some glitch on the data 
>> transport level. Could it be a fault of LWP? Try the same test after 
>> you have set:
>> APACHE_TEST_PRETEND_NO_LWP=1, in which case it won't use LWP as the 
>> client and talk directly through the socket...
[...]
>     not ok 2

OK, so that's not it. Any difference with this patch?

Index: t/filter/TestFilter/in_str_bin_data.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/in_str_bin_data.pm,v
retrieving revision 1.2
diff -u -r1.2 in_str_bin_data.pm
--- t/filter/TestFilter/in_str_bin_data.pm      16 Mar 2004 01:21:30 -0000 
     1.2
+++ t/filter/TestFilter/in_str_bin_data.pm      19 Aug 2004 22:43:43 -0000
@@ -29,9 +29,8 @@
      my $r = shift;

      if ($r->method_number == Apache::M_POST) {
-        my $data = ModPerl::Test::read_post($r);
-        my $length = length $data;
-        debug "pass through $length bytes of $data\n";
+        my $len = $r->read(my $data, $r->headers_in->{'Content-Length'});
+        debug "pass through $len bytes of $data\n";
          $r->print($data);
      }


-- 
__________________________________________________________________
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


Re: [mp2] t\apache\discard_rbody.t smoked

Posted by Markus Wichitill <ma...@gmx.de>.
Stas Bekman wrote:
> The access log says that the failing test wasn't really failing, as you 
> can see the stamp 200, so it must be some glitch on the data transport 
> level. Could it be a fault of LWP? Try the same test after you have set:
> APACHE_TEST_PRETEND_NO_LWP=1, in which case it won't use LWP as the 
> client and talk directly through the socket...

C:\Dev\debug\modperl-2.0>set APACHE_TEST_PRETEND_NO_LWP=1

C:\Dev\debug\modperl-2.0>c:\dev\debug\perl\bin\perl t\SMOKE -bug 
t\preconnection\note.t t\filter\in_str_bin_data.t t\apache\discard_rbody.t
[   info] Report file: 
C:\Dev\debug\modperl-2.0\smoke-report-Fri_Aug_20_00-31-11_2004.txt
[warning] running t/TEST in the bug report mode
t\preconnection\note......ok
t\filter\in_str_bin_data..ok
t\apache\discard_rbody....FAILED
[  error] ------------------------------------------------------------
[  error]               *** run log ***
     t\apache\discard_rbody....1..3
     # Running under perl version 5.008005 for MSWin32
     # Current time local: Fri Aug 20 00:31:31 2004
     # Current time GMT:   Thu Aug 19 22:31:31 2004
     # Using Test.pm version 1.25
     # Using Apache/Test.pm version 1.13
     # testing : data consumption: none
     # expected: none
     # received: none
     ok 1
     malformed response at 
C:\Dev\debug\modperl-2.0\blib\lib/Apache/TestClient.pm line 102.
     # Failed test 2 in t\apache\discard_rbody.t at line 15 fail #2
     # testing : data consumption: partial
     # expected: partial
     # received:
     not ok 2
     # testing : data consumption: all
     # expected: all
     # received: all
     ok 3
     FAILED test 2
         Failed 1/3 tests, 66.67% okay
     Failed Test              Stat Wstat Total Fail  Failed  List of Failed
 
-------------------------------------------------------------------------------
     t\apache\discard_rbody.t                3    1  33.33%  2
     Failed 1/1 test scripts, 0.00% okay. 1/3 subtests failed, 66.67% okay.
     [  error] error running tests (please examine t\logs\error_log)

[  error]               *** C:\Dev\debug\modperl-2.0\t\logs\error_log ***
     [Fri Aug 20 00:31:32 2004] [info] (OS 10053)Eine bestehende Verbindung 
wurde softwaregesteuert  durch den Hostcomputer abgebrochen.  : 
core_output_filter: writing data to the network

[  error]               *** C:\Dev\debug\modperl-2.0\t\logs\access_log ***
     127.0.0.1 - - [20/Aug/2004:00:31:32 +0200] "POST 
/TestApache__discard_rbody?none HTTP/1.0" 200 4
     127.0.0.1 - - [20/Aug/2004:00:31:32 +0200] "POST 
/TestApache__discard_rbody?partial HTTP/1.0" 200 7
     127.0.0.1 - - [20/Aug/2004:00:31:32 +0200] "POST 
/TestApache__discard_rbody?all HTTP/1.0" 200 3

[  error] ------------------------------------------------------------
[warning] ------------------------------------------------------------
[  error] error running 1 tests out of 3

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] t\apache\discard_rbody.t smoked

Posted by Stas Bekman <st...@stason.org>.
Markus Wichitill wrote:
> Stas Bekman wrote:
> 
>> I've seen those too sometimes. What's OS 10053 on win32? ECONNABORTED?
> 
> 
> WSAECONNABORTED
> 
> Software caused connection abort.
> An established connection was aborted by the software in your host 
> computer, possibly due to a data transmission time-out or protocol error.
> 
>>> perl t\TEST -v t\preconnection\note.t t\filter\in_str_bin_data.t 
>>> t\apache\discard_rbody.t
>>
>>
>> Can't reproduce that, please run:
>>
>> t\SMOKE -bug t\preconnection\note.t t\filter\in_str_bin_data.t
>> t\apache\discard_rbody.t
> 
> 
> C:\Dev\debug\modperl-2.0>c:\dev\debug\perl\bin\perl t\SMOKE -bug 
> t\preconnection\note.t t\filter\in_str_bin_data.t t\apache\discard_rbody.t
> [   info] Report file: 
> C:\Dev\debug\modperl-2.0\smoke-report-Thu_Aug_19_21-44-34_2004.txt
> [warning] running t/TEST in the bug report mode
> t\preconnection\note......ok
> t\filter\in_str_bin_data..ok
> t\apache\discard_rbody....FAILED
> [  error] ------------------------------------------------------------
> [  error]               *** run log ***
>     t\apache\discard_rbody....1..3
>     # Running under perl version 5.008005 for MSWin32
>     # Current time local: Thu Aug 19 21:44:56 2004
>     # Current time GMT:   Thu Aug 19 19:44:56 2004
>     # Using Test.pm version 1.25
>     # Using Apache/Test.pm version 1.13
>     # testing : data consumption: none
>     # expected: none
>     # received: none
>     ok 1
>     # Failed test 2 in t\apache\discard_rbody.t at line 15 fail #2
>     # testing : data consumption: partial
>     # expected: partial
>     # received: 500 Unknown error
>     not ok 2
>     # testing : data consumption: all
>     # expected: all
>     # received: all
>     ok 3
>     FAILED test 2
>         Failed 1/3 tests, 66.67% okay
>     Failed Test              Stat Wstat Total Fail  Failed  List of Failed
> 
> ------------------------------------------------------------------------------- 
> 
>     t\apache\discard_rbody.t                3    1  33.33%  2
>     Failed 1/1 test scripts, 0.00% okay. 1/3 subtests failed, 66.67% okay.
>     [  error] error running tests (please examine t\logs\error_log)
> 
> [  error]               *** C:\Dev\debug\modperl-2.0\t\logs\error_log ***
>     [Thu Aug 19 21:44:58 2004] [info] (OS 10053)Eine bestehende 
> Verbindung wurde softwaregesteuert  durch den Hostcomputer abgebrochen.  
> : core_output_filter: writing data to the network
> 
> [  error]               *** C:\Dev\debug\modperl-2.0\t\logs\access_log ***
>     127.0.0.1 - - [19/Aug/2004:21:44:58 +0200] "POST 
> /TestApache__discard_rbody?none HTTP/1.0" 200 4
>     127.0.0.1 - - [19/Aug/2004:21:44:58 +0200] "POST 
> /TestApache__discard_rbody?partial HTTP/1.0" 200 7

The access log says that the failing test wasn't really failing, as you 
can see the stamp 200, so it must be some glitch on the data transport 
level. Could it be a fault of LWP? Try the same test after you have set:
APACHE_TEST_PRETEND_NO_LWP=1, in which case it won't use LWP as the client 
and talk directly through the socket...



-- 
__________________________________________________________________
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


Re: [mp2] t\apache\discard_rbody.t smoked

Posted by Markus Wichitill <ma...@gmx.de>.
Stas Bekman wrote:
> I've seen those too sometimes. What's OS 10053 on win32? ECONNABORTED?

WSAECONNABORTED

Software caused connection abort.
An established connection was aborted by the software in your host computer, 
possibly due to a data transmission time-out or protocol error.

>> perl t\TEST -v t\preconnection\note.t t\filter\in_str_bin_data.t 
>> t\apache\discard_rbody.t
> 
> Can't reproduce that, please run:
> 
> t\SMOKE -bug t\preconnection\note.t t\filter\in_str_bin_data.t
> t\apache\discard_rbody.t

C:\Dev\debug\modperl-2.0>c:\dev\debug\perl\bin\perl t\SMOKE -bug 
t\preconnection\note.t t\filter\in_str_bin_data.t t\apache\discard_rbody.t
[   info] Report file: 
C:\Dev\debug\modperl-2.0\smoke-report-Thu_Aug_19_21-44-34_2004.txt
[warning] running t/TEST in the bug report mode
t\preconnection\note......ok
t\filter\in_str_bin_data..ok
t\apache\discard_rbody....FAILED
[  error] ------------------------------------------------------------
[  error]               *** run log ***
     t\apache\discard_rbody....1..3
     # Running under perl version 5.008005 for MSWin32
     # Current time local: Thu Aug 19 21:44:56 2004
     # Current time GMT:   Thu Aug 19 19:44:56 2004
     # Using Test.pm version 1.25
     # Using Apache/Test.pm version 1.13
     # testing : data consumption: none
     # expected: none
     # received: none
     ok 1
     # Failed test 2 in t\apache\discard_rbody.t at line 15 fail #2
     # testing : data consumption: partial
     # expected: partial
     # received: 500 Unknown error
     not ok 2
     # testing : data consumption: all
     # expected: all
     # received: all
     ok 3
     FAILED test 2
         Failed 1/3 tests, 66.67% okay
     Failed Test              Stat Wstat Total Fail  Failed  List of Failed
 
-------------------------------------------------------------------------------
     t\apache\discard_rbody.t                3    1  33.33%  2
     Failed 1/1 test scripts, 0.00% okay. 1/3 subtests failed, 66.67% okay.
     [  error] error running tests (please examine t\logs\error_log)

[  error]               *** C:\Dev\debug\modperl-2.0\t\logs\error_log ***
     [Thu Aug 19 21:44:58 2004] [info] (OS 10053)Eine bestehende Verbindung 
wurde softwaregesteuert  durch den Hostcomputer abgebrochen.  : 
core_output_filter: writing data to the network

[  error]               *** C:\Dev\debug\modperl-2.0\t\logs\access_log ***
     127.0.0.1 - - [19/Aug/2004:21:44:58 +0200] "POST 
/TestApache__discard_rbody?none HTTP/1.0" 200 4
     127.0.0.1 - - [19/Aug/2004:21:44:58 +0200] "POST 
/TestApache__discard_rbody?partial HTTP/1.0" 200 7
     127.0.0.1 - - [19/Aug/2004:21:44:58 +0200] "POST 
/TestApache__discard_rbody?all HTTP/1.0" 200 3

[  error] ------------------------------------------------------------
[warning] ------------------------------------------------------------
[  error] error running 1 tests out of 3



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] t\apache\discard_rbody.t smoked

Posted by Stas Bekman <st...@stason.org>.
Markus Wichitill wrote:
> SMOKE found another failing test combination on Win32:

> [Thu Aug 19 17:15:07 2004] [info] (OS 10053)An established connection 
> was aborted by the software in your host machine. : core_output_filter: 
> writing data to the network

I've seen those too sometimes. What's OS 10053 on win32? ECONNABORTED?

> perl t\TEST -v t\preconnection\note.t t\filter\in_str_bin_data.t 
> t\apache\discard_rbody.t

Can't reproduce that, please run:

t\SMOKE -bug t\preconnection\note.t t\filter\in_str_bin_data.t
t\apache\discard_rbody.t

this SMOKE bug mode does all the work for you :)

> Hm, actually I get various SMOKE failures every time I run that thing on 
> either Win32 or Linux. Maybe I should just stop doing that...

No, no, keep running those, that's the purpose of SMOKY :) These should be 
analyzed and the test should be changed (or a new one added) to reproduce 
the failure w/o a dependency on external tests. then fixed.

-- 
__________________________________________________________________
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