You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Kenneth Giusti <kg...@apache.org> on 2015/06/11 15:08:55 UTC

Review Request 35355: PROTON-905: sessions and links objects are leaked on long-lived connections if events are not used

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/35355/
-----------------------------------------------------------

Review request for qpid, Rafael Schloming and Ted Ross.


Bugs: proton-905
    https://issues.apache.org/jira/browse/proton-905


Repository: qpid-proton-git


Description
-------

Over time the connections 'free' session weakref list grows as sessions are pn_session_free()'d.  The session objects are never finalized and the memory is never released.   This is due to the session objects 'finalize' method being blocked by the session being considered 'bound' as it is on the transport modified list.  Once removed from the list, the session may be finalized, but decref is never called on the session.


Diffs
-----

  proton-c/src/engine/engine.c c5228a5 

Diff: https://reviews.apache.org/r/35355/diff/


Testing
-------

Ran a test script against qpidd 0.30 (non-event model driver) that continually created a session, link, and sent a single message before closing and freeing the link and session.  Memory usage of qpidd increased linearly over time.  With the given patch memory use remained flat over the course of the test.


Thanks,

Kenneth Giusti


Re: Review Request 35355: PROTON-905: sessions and links objects are leaked on long-lived connections if events are not used

Posted by Ted Ross <tr...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/35355/#review87614
-----------------------------------------------------------

Ship it!


Ship It!

- Ted Ross


On June 11, 2015, 9:08 a.m., Kenneth Giusti wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/35355/
> -----------------------------------------------------------
> 
> (Updated June 11, 2015, 9:08 a.m.)
> 
> 
> Review request for qpid, Rafael Schloming and Ted Ross.
> 
> 
> Bugs: proton-905
>     https://issues.apache.org/jira/browse/proton-905
> 
> 
> Repository: qpid-proton-git
> 
> 
> Description
> -------
> 
> Over time the connections 'free' session weakref list grows as sessions are pn_session_free()'d.  The session objects are never finalized and the memory is never released.   This is due to the session objects 'finalize' method being blocked by the session being considered 'bound' as it is on the transport modified list.  Once removed from the list, the session may be finalized, but decref is never called on the session.
> 
> 
> Diffs
> -----
> 
>   proton-c/src/engine/engine.c c5228a5 
> 
> Diff: https://reviews.apache.org/r/35355/diff/
> 
> 
> Testing
> -------
> 
> Ran a test script against qpidd 0.30 (non-event model driver) that continually created a session, link, and sent a single message before closing and freeing the link and session.  Memory usage of qpidd increased linearly over time.  With the given patch memory use remained flat over the course of the test.
> 
> 
> Thanks,
> 
> Kenneth Giusti
> 
>