httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Havard" <>
Subject Re: apache 2.0.11 - tag 2.0.12?
Date Mon, 05 Mar 2001 02:41:25 GMT
On Sun, 4 Mar 2001 20:30:56 -0500 (EST), Cliff Woolley wrote:

>On Mon, 5 Mar 2001, Brian Havard wrote:
>> I thought so too but no, it's still there. However I just noticed that it
>> works ok if the request is for HTTP/1.0. It only breaks on HTTP/1.1 so I'm
>> thinking perhaps the chunk filter or something it uses (like
>> apr_brigade_split) is broken. I'll try to find some time to step through
>> the code & figure it out.
>apr_brigade_split() is pretty simple... but I wouldn't be surprised if the
>chunk filter has an issue hiding somewhere.
>I worked a week or so ago on cleaning up the logic in the chunk filter so
>that I could understand it myself (and to get rid of some unnecessary
>layers of logic), but I didn't get a chance to finish and check it in
>before other things got in the way.  I'll go fish around and try to find
>that copy of my tree and get back to it.  =-)
>Anyway, at least we now have something to go on... the case where it fails
>is non-MMAP systems on HTTP/1.1.  The key part of the non-MMAP case is
>that file_read() ends up reading in the file into many 8KB heap buckets.
>If the thing fails on files >64KB, that's >8 calls to file_read(),
>We're getting close, I can smell it.  ;-]

You may be on the wrong track, it dies when the total output exceeds 64k,
header+body, not when the requested file exceeds 64k. Subtle difference but
may point to a completely different cause.

 |  Brian Havard                 |  "He is not the messiah!                   |
 |  |  He's a very naughty boy!" - Life of Brian |

View raw message