quetz-mod_python-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Gallacher <...@jgassociates.ca>
Subject Re: 3.2.8 - Memory leaks with util.FieldStorage
Date Sat, 10 Jun 2006 18:52:24 GMT
Jim Gallacher wrote:
> Laurent Blanquet wrote:
>> Hello,
>>
>> I'm using MOD_APACHE 3.2.8 (from binary dist). with Apache 2.0.55 
>> under Windows XP Pro.
>> I encounter memory leaks (~ 16 Ko per request) with a very basic 
>> handler like :
>>
>> import mod_python
>> from mod_python import util
>>
>> def handler(req):
>>     F=util.FieldStorage( req )       return mod_python.apache.OK
>>
>> And sending an HTTP request like :
>> ====  Output from TCPWATCH ====
>> POST http://localhost:80/python/Alertes.py HTTP/1.0
>> Content-Type: multipart/form-data; boundary=--------061006144341906
>> Content-Length: 209
>> Proxy-Connection: keep-alive
>> Host: www.tx2-localhost
>> Accept: text/html, */*
>> User-Agent: Mozilla/3.0 (compatible; Indy Library)
>> Proxy-Authorization: Basic Og==
>>
>> ----------061006144341906
>> Content-Disposition: form-data; name="TYPE"
>>
>> LAST_ALERTS
>> ----------061006144341906
>> Content-Disposition: form-data; name="FILEAGE"
>>
>> 180
>>
>> ----------061006144341906--
>> ====
>>
>> Has somebody encountered the same problem ?
>> Is there a turn-around  or a fix that can be forecasted ?
> 
> This is the first that this has been reported, so forecasting a fix is 
> difficult. It would be helpful if you created a JIRA issue at
> http://issues.apache.org/jira/browse/MODPYTHON
> 
> util.FieldStorage is straight python code, so I'm surprised that it 
> would be leaking, particularly 16K per request. Can you offer any more 
> details? How are you testing, other mod_python Apache directives you may 
> be using an so on.

Laurent,

Also, could you confirm that it *is* FieldStorage that is leaking (if 
you haven't already) by just reading the request body, bypassing 
FieldStorage completely. eg.

import mod_python
from mod_python import util

def handler(req):
     data = req.read()
     return mod_python.apache.OK

Thanks,
Jim

Mime
View raw message