[ https://issues.apache.org/jira/browse/PROTON-905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14633911#comment-14633911 ]
Ken Giusti commented on PROTON-905: ----------------------------------- Crash as captured by gsim: > #0 0x0000003d54635935 in raise () from /lib64/libc.so.6 > #1 0x0000003d546370e8 in abort () from /lib64/libc.so.6 > #2 0x0000003d5462e6a2 in __assert_fail_base () from /lib64/libc.so.6 > #3 0x0000003d5462e752 in __assert_fail () from /lib64/libc.so.6 > #4 0x00007fef7d37a761 in pn_class_free (clazz=0x7fef7d5b4ec0, > object=0x3692060) at > /home/gordon/projects/proton-git/proton-c/src/object/object.c:120 > #5 0x00007fef7d37aa12 in pn_free (object=<optimized out>) at > /home/gordon/projects/proton-git/proton-c/src/object/object.c:265 > #6 0x00007fef7d386000 in pni_free_children (children=0x3690510, > freed=0x36905e0) at > /home/gordon/projects/proton-git/proton-c/src/engine/engine.c:454 > #7 0x00007fef7d386d09 in pn_session_finalize (object=0x3690180) at > /home/gordon/projects/proton-git/proton-c/src/engine/engine.c:932 > #8 0x00007fef7d37a64d in pn_class_decref (clazz=clazz@entry=0x7fef7d5b4e40, > object=object@entry=0x3690180) at > /home/gordon/projects/proton-git/proton-c/src/object/object.c:97 > #9 0x00007fef7d37a70b in pn_class_free (clazz=0x7fef7d5b4e40, > object=0x3690180) at > /home/gordon/projects/proton-git/proton-c/src/object/object.c:122 > #10 0x00007fef7d37aa12 in pn_free (object=<optimized out>) at > /home/gordon/projects/proton-git/proton-c/src/object/object.c:265 > #11 0x00007fef7d386000 in pni_free_children (children=0x368e9c0, > freed=0x368ea90) at > /home/gordon/projects/proton-git/proton-c/src/engine/engine.c:454 > #12 0x00007fef7d3866db in pn_connection_finalize (object=0x368e310) at > /home/gordon/projects/proton-git/proton-c/src/engine/engine.c:476 > #13 0x00007fef7d37a64d in pn_class_decref (clazz=0x7fef7d5b4dc0, > object=object@entry=0x368e310) at > /home/gordon/projects/proton-git/proton-c/src/object/object.c:97 > #14 0x00007fef7d37a9d2 in pn_decref (object=object@entry=0x368e310) at > /home/gordon/projects/proton-git/proton-c/src/object/object.c:255 > #15 0x00007fef7d38bd08 in pn_transport_unbind > (transport=transport@entry=0x36831e0) at > /home/gordon/projects/proton-git/proton-c/src/transport/transport.c:733 > #16 0x00007fef7d38bd88 in pn_transport_finalize (object=0x36831e0) at > /home/gordon/projects/proton-git/proton-c/src/transport/transport.c:602 > #17 0x00007fef7d37a64d in pn_class_decref (clazz=0x7fef7d5b50c0, > object=0x36831e0) at > /home/gordon/projects/proton-git/proton-c/src/object/object.c:97 > 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 > Assignee: Ken Giusti > Priority: Blocker > Fix For: 0.10 > > Attachments: test-send.py > > > 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)