Package: apache2
Version: 2.2.3-3
Severity: important

I'm running Apache on a 2.4 kernel (not by choice, my colo virtual
server requires 2.4), and the latest Apache upgrade has some nasty
problems. The first problem is epoll() compatibility causing child
processes to segfault (already addressed by bug#392049), which I've
fixed by using a libapr1 built on a 2.4 kernel.

The second issue is a lot stranger and harder to track: after installing
the 2.4-friendly libapr1, apache2.2 now manages to run without
segfaulting, but all requests served have 0 bytes in the body. However,
access.log claims that the resource was sent in its entirety (gives the
correct byte count for every file I've tested), and the HTTP headers
claim that Content-Length is (correctly) the size of the file.  But
Apache disconnects without actually sending the contents of the file.
I've tested this with multiple browsers, wget, and telnet, and all of
them are disconnected before actually receiving any actual content.

There are no error messages in the error logs, and, from the appearance
of the logs, the server is actually fully functional.  An example access
log line is:

        130.253.190.245 - - [01/Nov/2006:12:09:35 -0800] "GET /favicon.ico 
HTTP/1.1" 200 326 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET 
CLR 1.1.4322; InfoPath.1)"

which looks perfectly normal. Here's what it looks like with wget:

        24.83.198.173 - - [01/Nov/2006:12:26:32 -0800] "GET /favicon.ico 
HTTP/1.0" 200 326 "-" "Wget/1.10.2"

Again, perfectly, normal, except that what really happens on the
client end is that wget receives 0 bytes, and keeps retrying:

        13:29:26 (0.00 B/s) - Connection closed at byte 0. Retrying.

The HTTP headers look like this:

        HTTP/1.1 200 OK
        Date: Wed, 01 Nov 2006 20:30:21 GMT
        Server: Apache/2.2
        Last-Modified: Fri, 13 Jan 2006 03:17:00 GMT
        ETag: "2e9809b-57e-e5fd4300"
        Accept-Ranges: bytes
        Content-Length: 1406
        Connection: close
        Content-Type: image/x-icon

And then the connection is immediately closed without actually sending
the contents of the file.

The files themselves are fine: I've checked both their contents and
their permissions, as well as directory permissions. Besides, if I try
to access a non-existent resource, Apache does successfully send an
error message (with the HTML body intact).

None of these problems show up on my laptop running kernel 2.6, so I
suspect 2.4 incompatibility may be the culprit here.  Any suggestions as
to how to obtain more information would be greatly appreciated. I've run
out of ideas as to where to look, since apache isn't crashing and the
logs look perfectly normal. Setting LogLevel to 'debug' shows no
useful information.

Here are relevant packages:

ii  apache2             2.2.3-3        Next generation, scalable, extendable 
web server
ii  apache2-mpm-prefork 2.2.3-3        Traditional model for Apache HTTPD 2.1
ii  apache2-utils       2.2.3-3        utility programs for webservers
ii  apache2.2-common    2.2.3-3        Next generation, scalable, extendable 
web server
ii  libapr1             1.2.7-6        The Apache Portable Runtime Library

(libapr1 was rebuilt on 2.4 with dpkg-buildpackage to work around
#392049. No changes were made to the Debian sources.)


T

-- 
Two wrongs don't make a right; but three rights do make a left...


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to