httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philip M. Gollucci" <>
Subject Re: upload hangs when file is multiple of 64K size
Date Sun, 17 Sep 2006 13:59:52 GMT
Olly Stephens wrote:
> Hi,
> I discovered this bug in a huge chunk of code that deals with huge
> uploads and it took me *ages* to work out what was causing it.  But once
> I had, I whittled it down to a small testcase.  Any upload whose size is
> an exact multiple of 64K (which appears to be the block size used by the
> filter code) will hang during the parse, eventually timing out.
I just commited

It works for me on:

freebsd 6.1-stable /i386
gcc 3.4.4
perl 5.8.8 w/o ithreads
httpd [branches/1.2.x] 2.2.4-dev (apr/apr-util 1.2.8-dev)
mod_perl svn trunk
apreq svn trunk


solaris 5.10
gcc 3.4.3
perl 5.8.8
httpd [branches/1.2.x] 2.2.4-dev (apr/apr-util 1.2.8-dev)
mod_perl svn trunk
apreq svn trunk

> I'm using apreq2-2.08 with httpd-2.2.3 on solaris 10.  It's a 64-bit build.
Both perls are
USE_64_BIT_INT enabled.

> The code that I use to reproduce this (just to make sure I'm not doing
> something wrong) is:
I couldn't get this to work.  Where did you get it from ?

>     apr_size_t           size ;
That should be apr_off_t "technically"

>     param = apreq_upload(paramt, "upload");
I could get this far, but apr_brigade_length(below) never would return success for me regardless
of file size.
So I wrote as in the commit.

> I'm using curl to upload test files to it.
I was using LWP via Apache-Test. [svn trunk, 1.29-dev)

> If not, can anyone else reproduce this problem? (if so, is it a
> solaris-specific issue?)
Doesn't seem to be.....

Try the tests... lets see what happens.

Philip M. Gollucci ( 323.219.4708
Consultant /
Senior Software Engineer - TicketMaster -
1024D/A79997FA F357 0FDD 2301 6296 690F  6A47 D55A 7172 A799 97F

"In all that I've done wrong I know I must have done something right to
deserve a hug every morning and butterfly kisses at night."
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /
 / /|_/ / // /\ \/ /_/ / /__
/_/  /_/\_, /___/\___\_\___/

View raw message