[ 
http://issues.apache.org/jira/browse/MODPYTHON-172?page=comments#action_12418577
 ] 

Harold Ship commented on MODPYTHON-172:
---------------------------------------

I've been able to reproduce the problem with "mod_python.publisher".

Using:
Windows 2000 Professional
apache 2.0.54
python 2.3.5
mod_python 3.1.3

the following script:
#foo.py
def bar(req):
    a=req.form.getfirst('a')
    req.write('a=%s'%str(a))
    req.write('Ok')

repeatedly sending requests to <addr>/foo/bar?a=b causes memory to rise 
continuously. removing the querystring does not. I used task manager to measure 
memory.

I've also found that the following change to util.py corrects this behaviour:

old util.py:
parse_qs = _apache.parse_qs
parse_qsl = _apache.parse_qsl


workaround util.py:
parse_qs = _apache.parse_qs
#parse_qsl = _apache.parse_qsl
from cgi import parse_qsl


> Memory leak with util.fieldstorage using mod_python 3.2.8 on apache 2.0.55
> --------------------------------------------------------------------------
>
>          Key: MODPYTHON-172
>          URL: http://issues.apache.org/jira/browse/MODPYTHON-172
>      Project: mod_python
>         Type: Bug

>   Components: core
>     Versions: 3.2.8
>  Environment: Win32 XP  SP1 / SP2
> Apache 2.0.55  installed from binary (.MSI)
> Python 2.4.2  or  2.4.3    installed from binary from www.python.org    
>     Reporter: Laurent Blanquet

>
> I encounter memory leaks [~ 16 K per request) using the configuration 
> described below.
> =============================
> Python configuration from Httpd.conf:
> =============================
> Alias /python/ "d:/python24/B2B/"      
> <Directory "d:/python24/B2B">
>         AddHandler mod_python .py                  
>         PythonHandler pyHandlerHTTP                  
>         PythonDebug On                             
> </Directory>                                       
> =============================
> Test handler -  pyHandlerHTTP.py :
> =============================
> import mod_python
> from mod_python import util
> def handler(req):
>       #Removing this line solves the problem.
>       F=util.FieldStorage( req )   
>       return mod_python.apache.OK
> =============================
> HTTP Request (dump using 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

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to