qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DISPATCH-1069) memory grows on a long-lived connection when links are opened and closed
Date Tue, 10 Jul 2018 23:47:00 GMT

    [ 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


Mime
View raw message