httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Hay <>
Subject Re: apreqXXXXXX temp files remain after processing uploads greater than 256kb. Further large upload fails
Date Thu, 22 Mar 2007 08:57:56 GMT
Randy Kobes wrote:
> On Wed, 14 Mar 2007, Steve Hay wrote:
>> I tried your patch with the current svn version (revision 518242), but 
>> I'm still seeing intermittent failures (usually in tests 15, 16 and/or 
>> 20) either when I run "nmake test" from the top-level, or when I run: 
>> perl -Iblib/arch -Iblib/lib t/TEST -verbose=1 t/apreq/upload.t from 
>> the glue/perl sub-directory :-( I'm running perl-5.8.8, apache-2.2.2 
>> and mod_perl-2.0.3 (RC3, I think).  Do I need to update anything there?
> I don't think so - I ran the tests against essentially the
> same setup, and didn't see any failures when run a number
> of times.
> Perhaps just to narrow things down, could you try the
> attached C file (a VC++ Makefile is also attached)?
> This uses the relevant parts of libapreq2 to create
> and cleanup a temp file; the Makefile produces 4 .exes:
>   apr_temp: don't enable APR_FILE_NOCLEANUP nor
>             APR_SHARELOCK
>   apr_temp_nc: enable only APR_FILE_NOCLEANUP
>   apr_temp_sh: enable only APR_SHARELOCK
>   apr_temp_nc_sh: enable both APR_FILE_NOCLEANUP and
>                   APR_SHARELOCK
> These are run, for example
>   apr_temp 20
> which will go in a loop and create, and then remove, 20
> temp files (with no arguments, the default is 10.
> Are there any problems with the cleanup in any of these?
> If not, then it looks like the problem is somewhere
> within the Perl glue.

Apologies for the slow response.

I ran each program with an argument of 500 for good measure.  All four 
programs successfully create and then delete a large number (presumably 
500, I didn't count 'em!) of apreq* temp files.

apr_temp and apr_temp_sh both deleted all those files about as quickly 
as they were made (i.e. very quickly), while apr_temp_nc and 
apr_temp_nc_sh both output loads of CLEANUP messages in the console 
quickly but then seemed to hang for nearly a minute, during which time 
loads of apreq* files were visible in the temp directory, and then 
eventually exited and all the files disappeared.


View raw message