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