You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2018/07/10 23:47:00 UTC

[jira] [Commented] (DISPATCH-1069) memory grows on a long-lived connection when links are opened and closed

    [ https://issues.apache.org/jira/browse/DISPATCH-1069?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16539380#comment-16539380 ] 

ASF subversion and git services commented on DISPATCH-1069:
-----------------------------------------------------------

Commit f87a33389b268ef5fe20a8b08179310f1c135d28 in qpid-dispatch's branch refs/heads/master from [~aconway]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-dispatch.git;h=f87a333 ]

DISPATCH-1069: memory grows on a long-lived connection

Fixed by removing the test `pn_link_get_context(link)` while handling
PN_LINK_LOCAL_CLOSE.

qd_link_free() can clear the pn_link context before the PN_LINK_LOCAL_CLOSE
event is handled, in that case the link was never freed.

The fix won't cause double-free. pn_link_free() is only called in 2 places,
handling PN_LINK_LOCAL_CLOSE and PN_LINK_REMOTE_CLOSE. In both cases it is only
called if the link is closed at both ends. It is not possible for both of these
events to fire for the same link with both ends closed, the one that fires first
will always have the other end open.


> memory grows on a long-lived connection when links are opened and closed
> ------------------------------------------------------------------------
>
>                 Key: DISPATCH-1069
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1069
>             Project: Qpid Dispatch
>          Issue Type: Bug
>          Components: Container
>    Affects Versions: 1.2.0
>            Reporter: Alan Conway
>            Assignee: Alan Conway
>            Priority: Major
>         Attachments: link-leak.c, link-leak.py
>
>
> The attached reproducers link-leak.c and link-leak.py open and close links repeatedly on the same connection. This causes the routers memory use to grow.
> Massif shows that the memory is due to pn_link_t and related objects. PROTON-905 describes an old bug where link information is leaked but experiments show this is not happening with modern proton.
> I suspect the growth is due to dispatch sometimes failing to call pn_link_free() but investigation is still ongoing.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org