WeBWorK Main Forum

Caught a SIGPIPE errors in httpd logs

Caught a SIGPIPE errors in httpd logs

by Alexander Basyrov -
Number of replies: 2
Hi,

After installing WeBWorK 2.5.0 on our server, we seem to be getting error messages like follows:

Caught a SIGPIPE at /opt/webwork/webwork2/lib/Apache/WeBWorK.pm line 62
$ = eval {...} called from file `/opt/webwork/webwork2/lib/Apache/WeBWorK.pm' line 62
$ = Apache::WeBWorK::handler('Apache2::RequestRec=SCALAR(0xbb1cfef0)') called from -e line 0
$ = eval {...} called from -e line 0
[Mon Sep 12 08:28:45 2011] [notice] child pid 934 exit signal Aborted (6)

There are about 50-80 such messages a day.

Depending on the browser, the user seems to either see a blank screen (firefox) or a message that 'connection was reset' (chrome).

Server runs Debian/Squeeze Linux, 32bit, with
Apache/2.2.16 (Debian) mod_ssl/2.2.16 OpenSSL/0.9.8o mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1

Any ideas on how serious this could be and what could be the issue are appreciated.

In reply to Alexander Basyrov

Re: Caught a SIGPIPE errors in httpd logs

by Jason Aubrey -
Interesting...I haven't heard of a problem like this before.

My first suggestion would be to change the apache LogLevel to info or debug to see if that turns up any clues. I tried googling the error, and came across serverfault. Maybe you can find some clues there:

http://serverfault.com/search?q=apache+2.2.16+sigpipe

If you have a test environment where you can reproduce the problem, maybe you could also try turning on perl diagnostics with

PerlSwitches -w

So, obviously, I have no idea what's going on here, but maybe one of these suggestions will help find the problem.

Jason
In reply to Jason Aubrey

Re: Caught a SIGPIPE errors in httpd logs

by Alexander Basyrov -
Jason,

Thanks for your reply - since I've asked the question, I though I should post a partial answer.

I don't know what was the exact cause of those error messages - I would guess that apache process was overloaded.

The following configuration changes seemed to eliminate those error messages on our server:

ExtendedStatus Off (in apache2 config)

commenting out sections

# WebworkSOAP "bridge2" handler
########## WebworkWebservice SOAP handler ##########
########### WebworkWebservice XMLRPC handler ##########
# WebworkSOAP WSDL HANDLER :: TO BE REPLACED WITH A FILE FOR PRODUCTION SERVERS
# WebworkSOAP handlers (for integration with moodle)

in webwork.apache2-config file. I'm not sure why those sections were by default active in webwork distribution we checked out.

We probably should use lighthttpd to serve static content, and let apache2 do the heavy perl work only.