On Wednesday, January 4, 2012 at 11:26 AM, Torsten Förtsch wrote:
> Don't know if it is just my system or if it is relevant at all but I can  
> produce failures and even segfault by
>  
> make
> t/TEST -start-httpd
> while t/TEST -order=random -run-tests; do :; done
>  
> Can anyone else please try this? Also, I wouldn't see it as a show stopper if 
>  
> 1.36 behaves the same.

I was not able to reproduce this after letting it run for ~20 minutes.

5.14.1/2.2.21/2.0.6-dev  


  
>  
> Note, the first run of the test suite always succeeds.
>  
> The stack trace shows that PerlIOApache_flush passes a NULL pointer to  
> ap_get_module_config. I think the relevant line is
>  
> rcfg = modperl_config_req_get(st->r);
>  
> which expands to  
>  
> ap_get_module_config(st->r->request_config, &perl_module)
>  
> I also got one of this:
>  
> [Wed Jan 04 19:19:29 2012] [error] [client 127.0.0.1] PerlIOApache_flush:  
> flush can't be called before the response phase at  
> /opt/perl/lib/5.12.3/Test/Builder.pm line 1825.\n
>  
> 1818 sub _open_testhandles {
> 1819 my $self = shift;
> 1820  
> 1821 return if $self->{Opened_Testhandles};
> 1822  
> 1823 # We dup STDOUT and STDERR so people can change them in their
> 1824 # test suites while still getting normal test output.
> 1825 open( $Testout, ">&STDOUT" ) or die "Can't dup STDOUT: $!";
> 1826 open( $Testerr, ">&STDERR" ) or die "Can't dup STDERR: $!";
> 1827  
> 1828 # $self->_copy_io_layers( \*STDOUT, $Testout );
> 1829 # $self->_copy_io_layers( \*STDERR, $Testerr );
> 1830  
> 1831 $self->{Opened_Testhandles} = 1;
> 1832  
> 1833 return;
> 1834 }
>  
> To me the stack trace looks like a file handle being closed in the process of 
>  
> reopening it - something like what is done in line 1825 if $Testout is still  
> open.
>  
>  
> #0 0x000000000042cfb4 in ap_get_module_config (cv=0x0, m=0x7fa62e910de0) at  
> util_debug.c:106
> 106 return ((void **)cv)[m->module_index];
> (gdb) bt
> #0 0x000000000042cfb4 in ap_get_module_config (cv=0x0, m=0x7fa62e910de0) at  
> util_debug.c:106
> #1 0x00007fa62e6f6386 in PerlIOApache_flush () from /opt/apache-
> prefork/libexec/mod_perl.so
> #2 0x00007fa62e48f6be in Perl_PerlIO_flush () from  
> /opt/perl/lib/5.12.3/x86_64-linux/CORE/libperl.so
> #3 0x00007fa62e491559 in PerlIOBase_close () from  
> /opt/perl/lib/5.12.3/x86_64-linux/CORE/libperl.so
> #4 0x00007fa62e6f6209 in PerlIOApache_close () from /opt/apache-
> prefork/libexec/mod_perl.so
> #5 0x00007fa62e491678 in PerlIO__close () from /opt/perl/lib/5.12.3/x86_64-
> linux/CORE/libperl.so
> #6 0x00007fa62e4916be in Perl_PerlIO_close () from  
> /opt/perl/lib/5.12.3/x86_64-linux/CORE/libperl.so
> #7 0x00007fa62e471624 in Perl_do_openn () from /opt/perl/lib/5.12.3/x86_64-
> linux/CORE/libperl.so
> #8 0x00007fa62e45e296 in Perl_pp_open () from /opt/perl/lib/5.12.3/x86_64-
> linux/CORE/libperl.so
> #9 0x00007fa62e41dc80 in Perl_runops_standard () from  
> /opt/perl/lib/5.12.3/x86_64-linux/CORE/libperl.so
> #10 0x00007fa62e3ca1ab in Perl_call_sv () from /opt/perl/lib/5.12.3/x86_64-
> linux/CORE/libperl.so
> #11 0x00007fa62e6f1cf7 in modperl_callback () from /opt/apache-
> prefork/libexec/mod_perl.so
> #12 0x00007fa62e6f2540 in modperl_callback_run_handlers () from /opt/apache-
> prefork/libexec/mod_perl.so
> #13 0x00007fa62e6f288f in modperl_callback_per_dir () from /opt/apache-
> prefork/libexec/mod_perl.so
> #14 0x00007fa62e6eea5b in modperl_response_handler_run () from /opt/apache-
> prefork/libexec/mod_perl.so
> #15 0x00007fa62e6eebb3 in modperl_response_handler_cgi () from /opt/apache-
> prefork/libexec/mod_perl.so
> #16 0x000000000043cc98 in ap_run_handler (r=0x9f53c0) at config.c:158
> #17 0x000000000043d0fe in ap_invoke_handler (r=0x9f53c0) at config.c:376
> #18 0x000000000044a150 in ap_process_request (r=0x9f53c0) at  
> http_request.c:282
> #19 0x0000000000447128 in ap_process_http_connection (c=0x9e7540) at  
> http_core.c:190
> #20 0x0000000000443298 in ap_run_process_connection (c=0x9e7540) at  
> connection.c:43
> #21 0x000000000044ee02 in child_main (child_num_arg=<optimized out>) at  
> prefork.c:667
> #22 0x000000000044f50c in make_child (slot=1, s=0x684848) at prefork.c:768
> #23 make_child (s=0x684848, slot=1) at prefork.c:696
> #24 0x0000000000450062 in perform_idle_server_maintenance (p=<optimized out>) 
>  
> at prefork.c:903
> #25 ap_mpm_run (_pconf=<optimized out>, plog=<optimized out>, s=<optimized  
> out>) at prefork.c:1107
> #26 0x00000000004286d4 in main (argc=7, argv=0x7fffceabde38) at main.c:751
>  
>  
> Torsten Förtsch
>  
> --  
> Need professional modperl support? Hire me! (http://foertsch.name)
>  
> Like fantasy? http://kabatinte.net  



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

Reply via email to