I have a pretty busy web site that runs off Apache 2.0.48 with mod_deflate
on Linux. In the error log file, I occasionally see these:
[Sun Dec 14 07:47:38 2003] [error] [client 65.130.96.XX] (9)Bad file
descriptor: apr_brigade_partition() failed [1073829008,1073829008]
Inspecting the logged requests that correspond to these, I discovered that
such a message is logged whenever a client sends a request for an invalid
range, i.e. HTTP code 416 "Requested range not satisfiable" is returned.
Should this error really be logged each time? I'm not sure if that's a bug.
Now that part isn't too mysterious but this one I couldn't make sense of --
This error finally caught my attention because one day, there were 40,000
of these errors over a period of 2 hours from a single IP address. This IP
was making the following request repeatedly:
172.184.51.116 - - [12/Dec/2003:12:33:06 -0600] "GET / HTTP/1.0" 416 314
"Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)"
Is there some sort of a disagreement between Internet Explorer and Apache
that might cause an 'infinite loop' style error relating to invalid ranges
for requests? Why on earth would Internet Explorer try to access one URL
40,000 times? Note that HTTP code 416 is "Requested range not satisfiable".
--
Jem Berkes
http://www.sysdesign.ca/