You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2002/11/06 16:02:24 UTC
DO NOT REPLY [Bug 14299] New: -
SIGPIPE problem
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14299>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14299
SIGPIPE problem
Summary: SIGPIPE problem
Product: Apache httpd-1.3
Version: 1.3.26
Platform: PC
OS/Version: Linux
Status: NEW
Severity: Critical
Priority: Other
Component: core
AssignedTo: bugs@httpd.apache.org
ReportedBy: tw@2m.dk
I havent tested this on 1.3.27, but it's a problem on 1.3.9, 1.3.23 and 1.3.26 -
so I suspect it is a problem in 1.3.27 aswell, as I haven't seen any entries in
the changelog, that addresses this.
I have tested this on Debian (potato and sid) and SuSE 8.0.
It is fairly easy to reproduce the gdb backtrace
/usr/sbin/apache -X
gdb /usb/sbin/apache <pid>
fire up your browser and direct it to the following script, test.html
<html>
<head>
<title>Test</title>
</head>
<body>
<a href="test.html">Testing...</a>
[DUMP ALOT OF RANDOM TEXT HERE] *
</body>
</html>
*) On my machine (AMD 1100MHz) ~14M is adequate. On slower/faster machine less
or more text will reach the threshold depending on workload.
Now it will only take between 2 and 30 clicks on "Testing..." to achieve the
SIGPIPE (again: if you don't get the SIGPIPE - please try to raise the size of
the html file - instead of just writing this bug of as bogus).
In "normal" use (meaning static html and even most php scripts) such a SIGPIPE
will have no influence - but if you have en extension to php which is
excessively session oriented (as I have) your site will simply stop working.
Which is why I have marked this BUG critical.
As I have hinted this is very much a timing problem as my extension has no
problems when running in pure http context - but adding the calculation
complexity of https - it gives up (why I initially thought this was a problem
with openssl).
Well... I'll just post the backtrace from gdb:
Program received signal SIGPIPE, Broken pipe.
0x401456e7 in writev () from /lib/libc.so.6
(gdb) bt
#0 0x401456e7 in writev () from /lib/libc.so.6
#1 0x80535d3 in writev_it_all (fb=0x80a7e74, vec=0xbfffd9bc, nvec=2)
at buff.c:1138
#2 0x805382f in large_write (fb=0x80a7e74, buf=0xbfffda4c, nbyte=8192)
at buff.c:1293
#3 0x80538d2 in ap_bwrite (fb=0x80a7e74, buf=0xbfffda4c, nbyte=8192)
at buff.c:1356
#4 0x80614f0 in ap_send_fd_length (f=0x80c2898, r=0x80c08bc, length=8182251)
at http_protocol.c:2352
#5 0x8059bb2 in default_handler (r=0x80c08bc) at http_core.c:3929
#6 0x8054408 in ap_invoke_handler (r=0x80c08bc) at http_config.c:529
#7 0x8063cbc in process_request_internal (r=0x80c08bc) at http_request.c:1308
#8 0x8063d18 in ap_process_request (r=0x80c08bc) at http_request.c:1324
#9 0x805d4eb in child_main (child_num_arg=0) at http_main.c:4681
#10 0x805d67c in make_child (s=0x809c4cc, slot=0, now=1036592596)
at http_main.c:4805
#11 0x805d799 in startup_children (number_to_start=5) at http_main.c:4887
#12 0x805dc75 in standalone_main (argc=2, argv=0xbffffd24) at http_main.c:5195
#13 0x805e37d in main (argc=2, argv=0xbffffd24) at http_main.c:5558
(gdb)
I'll gladly supply more info if needed
Best Regards
Thomas Wentzel
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org