Ken Giusti created PROTON-905:
---------------------------------

             Summary: Long-lived connections leak sessions and links
                 Key: PROTON-905
                 URL: https://issues.apache.org/jira/browse/PROTON-905
             Project: Qpid Proton
          Issue Type: Bug
          Components: proton-c
    Affects Versions: 0.9.1
            Reporter: Ken Giusti
            Priority: Blocker
             Fix For: 0.10


I found this issue while debugging a crash dump of qpidd.

Long lived connections do not free its sessions/link.

This only applies when NOT using the event model.  The version of qpidd I 
tested against (0.30) still uses the iterative model.  Point to consider, I 
don't know why this is the case.

Details:  I have a test script that opens a single connection, then continually 
creates sessions/links over that connection, sending one message before closing 
and freeing the sessions/links.  See attached.

Over time the qpidd run time consumes all memory on the system and is killed by 
OOM.  To be clear, I'm using drain to remove all sent messages - there is no 
message build up.

On debugging this, I'm finding thousands of session objects on the connections 
free sessions weakref list.  Every one of those sessions has a refcount of one.

Once the connection is finalized, all session objects are freed.  But until 
then, freed sessions continue to accumulate indefinitely.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to