You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by db...@newsfactor.com on 2002/10/03 20:29:57 UTC
Backtraces on recurring segfaults on mod_perl-1.27/apache-1.3.26
I've managed to get a couple of backtraces on a segfault problem we've
been having for months now. The segfaults occur pretty rarely on the
whole, but once a client triggers one on a particular page, they do not
stop. The length and content of the request are key in making the
segfaults happen. Modifying the cookie or adding characters to the
request line causes the segfaults to stop.
example (word wrapped):
This request will produce a segfault (backtrace in attached gdb1.txt)
and about 1/3 of the expected page :
nc 192.168.1.20 84
GET /perl/section/entcmpt/ HTTP/1.1
User-Agent: Mozilla/5.0 (compatible; Konqueror/3; Linux 2.4.18-5)
Pragma: no-cache
Cache-control: no-cache
Accept: text/*, image/jpeg, image/png, image/*, */*
Accept-Encoding: x-gzip, gzip, identity
Accept-Charset: iso-8859-1, utf-8;q=0.5, *;q=0.5
Accept-Language: en
Host: 192.168.1.20:84
Cookie:
mxstsn=1033666066:19573.19579.19572.19574.19577.19580.19576.19558.19560.19559.19557.19567.19566.19568.19544.19553.19545.19551.19554.19546.19548.19547.19532.19535.19533.19538.19534:0;
Apache=192.168.2.1.124921033666065714
Adding a bunch of zeroes to the URI (which does not change the code
functionality) causes the page to work correctly:
nc 192.168.1.20 84
GET
/perl/section/entcmpt/?00000000000000000000000000000000000000000000000000000000
HTTP/1.1
User-Agent: Mozilla/5.0 (compatible; Konqueror/3; Linux 2.4.18-5)
Pragma: no-cache
Cache-control: no-cache
Accept: text/*, image/jpeg, image/png, image/*, */*
Accept-Encoding: x-gzip, gzip, identity
Accept-Charset: iso-8859-1, utf-8;q=0.5, *;q=0.5
Accept-Language: en
Host: 192.168.1.20:84
Cookie:
mxstsn=1033666066:19573.19579.19572.19574.19577.19580.19576.19558.19560.19559.19557.19567.19566.19568.19544.19553.19545.19551.19554.19546.19548.19547.19532.19535.19533.19538.19534:0;
Apache=192.168.2.1.124921033666065714
Some info:
/usr/apache-perl/bin/httpd -l
Compiled-in modules:
http_core.c
mod_env.c
mod_log_config.c
mod_mime.c
mod_negotiation.c
mod_status.c
mod_include.c
mod_autoindex.c
mod_dir.c
mod_cgi.c
mod_asis.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_access.c
mod_auth.c
mod_so.c
mod_setenvif.c
mod_php4.c
mod_perl.c
Please forgive any obvious missing info (i'm not a c programmer). The
first backtrace shows the segfault happening in mod_perl_sent_header(),
and the second shows it happening in the ap_make_array() which was from
Apache::Cookie. I don't have one handy now, but I've also seen it happen
in ap_soft_timeout() after an XS_Apache_print (r->server was out of bounds).
I've added a third backtrace where r->content_encoding contains the
above 'mxstsn' cookie name.
Any help would be greatly appreciated.
--
--
Daniel Bohling
NewsFactor Network