quetz-mod_python-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Graham Dumpleton (JIRA)" <j...@apache.org>
Subject [jira] Commented: (MODPYTHON-182) Memory leak in request readline()
Date Mon, 11 Sep 2006 10:14:22 GMT
    [ http://issues.apache.org/jira/browse/MODPYTHON-182?page=comments#action_12433817 ] 
            
Graham Dumpleton commented on MODPYTHON-182:
--------------------------------------------

Do the patches which been made on this cover all the problems that are known? If yes and we
can mark as resolved, still need to add entry into change list of documentation.

> Memory leak in request readline()
> ---------------------------------
>
>                 Key: MODPYTHON-182
>                 URL: http://issues.apache.org/jira/browse/MODPYTHON-182
>             Project: mod_python
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.2.10, 3.3, 3.2.x
>         Environment: Apache 2.0.55 mpm-worker
>            Reporter: Jim Gallacher
>         Assigned To: Jim Gallacher
>             Fix For: 3.3
>
>
> There is at least one memory leak request.readline(). I'm currently auditing the code
so there may well be others.
> I think the leak will only occur when the request body is incompletely read with readline,
which is likely an unusual corner case. The following demostrates the leak:
> Consider a request body consisting of:
> '\n'.join([ 'a'*100 for i in xrange(0, 100) ])
> and using this handler:
> def handler(req):
>     # Handler reads 20 lines but request contains 100 lines.
>     # Since the body is not completely read, the buffer allocated
>     # in requestobject.c req_readline is never freed.
>     req.content_type = 'text/plain'
>     count = 0
>     for i in range(0, 20):
>         line = req.readline()
>         count += 1
>     req.write('ok readline_partial: %d lines read' % count)
>     return apache.OK
> With this test setup I'm seeing a leak of approx 10k bytes per request.

-- 
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

        

Mime
View raw message