> >    Web servers itself starts spinning on 100% CPU once this happens.
> >
> >    Log has this entry:
> >
> > [Thu Jan 06 18:52:18 2005] [error] APR::Socket::recv:
> >   (11) Resource temporarily unavailable at
> > /local/GML/Apache2/mod_perl-2.0.0-RC3/t/protocol/TestProtocol/echo_block.pm 
> > line 41
> 
> I suppose that's t/protocol/echo_block.t  (and not t/protocol/echo_filter), 
> right?


   No - the test output at this stage looks like this:


t/protocol/echo_block...................# Failed test 3 in 
t/protocol/echo_block.t at line 22 fail #2
FAILED test 3
        Failed 1/3 tests, 66.67% okay
t/protocol/echo_filter..................

(there no no newline on that last line.)

> Wow, irix. It's a first time I see anybody trying modperl on it.

   Really?  I've had it running v1.25 on Apache1.3.x for years.

> Can you identify where the process spins? e.g. try the technique explained
> in: 21.7.4.1. Using the Perl trace
> http://modperlbook.org/html/ch21_07.html or some tracing tool.
> 
> any difference if you put an eval {}  block around that line?

   Well, I doubt it will make much difference given that it was reported for a 
different script.

   It all seems to be pointing to issues around (non-)blocking sockets?  The 
echo_block and echo_filter tests both refer to fixes on Apache2.0.52 for 
Open/NetBSD here.

   Anyway - here's what you requested (after adding t/conf/modperl_extra.pl):

   I removed all of the dirs (expect lib) from t which preceded protocol then 
ran "make test".  This is the resulting log (I've wrapped some bits, but the 
longer lines may still wrap...).

=====================================================================================


[Mon Jan 10 17:52:05 2005] [info]
   Init: Initializing OpenSSL library
[Mon Jan 10 17:52:05 2005] [info]
   Init: Seeding PRNG with 0 bytes of entropy
[Mon Jan 10 17:52:05 2005] [info]
   Init: Generating temporary RSA private keys (512/1024 bits)
[Mon Jan 10 17:52:06 2005] [info]
   Init: Generating temporary DH parameters (512/1024 bits)
[Mon Jan 10 17:52:06 2005] [warn]
   Init: Session Cache is not configured [hint: SSLSessionCache]
[Mon Jan 10 17:52:06 2005] [info]
   Init: Initializing (virtual) servers for SSL
[Mon Jan 10 17:52:06 2005] [info]
   Server: Apache/2.0.52, Interface: mod_ssl/2.0.52, Library: OpenSSL/0.9.7d
[Mon Jan 10 17:52:06 2005] [info]
   Init: Initializing OpenSSL library
[Mon Jan 10 17:52:06 2005] [info]
   Init: Seeding PRNG with 0 bytes of entropy
[Mon Jan 10 17:52:06 2005] [info]
   Init: Generating temporary RSA private keys (512/1024 bits)
[Mon Jan 10 17:52:07 2005] [info]
   Init: Generating temporary DH parameters (512/1024 bits)
[Mon Jan 10 17:52:07 2005] [info]
   Init: Initializing (virtual) servers for SSL
[Mon Jan 10 17:52:07 2005] [info]
   Server: Apache/2.0.52, Interface: mod_ssl/2.0.52, Library: OpenSSL/0.9.7d
[Mon Jan 10 17:52:07 2005] [notice]
   Digest: generating secret for digest authentication ...
[Mon Jan 10 17:52:07 2005] [notice]
   Digest: done
[Mon Jan 10 17:52:07 2005] [notice]
   Apache/2.0.52 (Unix) DAV/2 mod_ssl/2.0.52 OpenSSL/0.9.7d
     mod_perl/1.999.20 Perl/v5.8.5 configured -- resuming normal operations
[Mon Jan 10 17:52:07 2005] [info]
   Server built: Jan  6 2005 14:00:24
[Mon Jan 10 17:52:07 2005] [debug]
   prefork.c(955): AcceptMutex: sysvsem (default: sysvsem)
[Mon Jan 10 17:52:16 2005] [error]
   recv() has returned untainted data:
     at 
/local/GML/Apache2/mod_perl-2.0.0-RC3/t/protocol/TestProtocol/echo_block.pm 
line 38.\n
[Mon Jan 10 17:52:41 2005] [error]
   Caught SIGUSR2! at
     /local/GML/Apache2/mod_perl-2.0.0-RC3/t/conf/modperl_extra.pl line 6
     Book::Startup::__ANON__('USR2')
         called at 
/local/GML/Apache2/mod_perl-2.0.0-RC3/t/protocol/TestProtocol/echo_filter.pm 
line 22
     eval {...} called at 
/local/GML/Apache2/mod_perl-2.0.0-RC3/t/protocol/TestProtocol/echo_filter.pm 
line 22
     TestProtocol::echo_filter::uc_filter('Apache::Filter=SCALAR(0x102b00d0)', 
'APR::Brigade=SCALAR(0x102b0100)') called at
         
/local/GML/Apache2/mod_perl-2.0.0-RC3/t/protocol/TestProtocol/echo_filter.pm 
line 50
     eval {...} called at 
/local/GML/Apache2/mod_perl-2.0.0-RC3/t/protocol/TestProtocol/echo_filter.pm 
line 50
     
TestProtocol::echo_filter::handler('Apache::Connection=SCALAR(0x101ab0c8)') 
called at -e line 0
     eval {...} called at -e line 0
[Mon Jan 10 17:52:41 2005] [error]
   Apache::Filter::fflush: (500) Block not fully transferred at
     
/local/GML/Apache2/mod_perl-2.0.0-RC3/t/protocol/TestProtocol/echo_filter.pm 
line 50
[Mon Jan 10 17:52:50 2005] [error]
   APR::Socket::recv: (11) Resource temporarily unavailable at
     
/local/GML/Apache2/mod_perl-2.0.0-RC3/t/protocol/TestProtocol/pseudo_http.pm 
line 118
[Mon Jan 10 17:52:50 2005] [error]
   APR::Socket::recv: (11) Resource temporarily unavailable at
     
/local/GML/Apache2/mod_perl-2.0.0-RC3/t/protocol/TestProtocol/pseudo_http.pm 
line 118

*** The following error entry is expected and harmless ***
[Mon Jan 10 17:52:50 2005] [info]
   removed PID file /local/GML/Apache2/mod_perl-2.0.0-RC3/t/logs/httpd.pid 
(pid=328342)
[Mon Jan 10 17:52:50 2005] [notice]
   caught SIGTERM, shutting down

Reply via email to