[ https://issues.apache.org/jira/browse/DISPATCH-1246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16759940#comment-16759940 ]
ASF subversion and git services commented on DISPATCH-1246: ----------------------------------------------------------- Commit 5ef146d159457892ddcdcca533487733c1ab4987 in qpid-dispatch's branch refs/heads/master from Ken Giusti [ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=5ef146d ] DISPATCH-1246: clean up core link endpoints on shutdown This patch makes the following changes: o) the do_cleanup callback is always invoked then the core link endpoint is released. The callback is normally called right after second detach occurs, but it can also be called when the link is freed without cleanly detaching. o) moved the module finalization after the cleanup of links and endpoints on router shutdown. This ensures that all core link endpoints used by the modules are cleaned up before the finalization occurs. o) if the link has been lost (e.g. connection closed) then the detach link endpoint callback will not be called. The do_cleanup callback will be called instead. This closes #445 > Address Proxy module leaks qdrc_endpoint_t on shutdown > ------------------------------------------------------ > > Key: DISPATCH-1246 > URL: https://issues.apache.org/jira/browse/DISPATCH-1246 > Project: Qpid Dispatch > Issue Type: Bug > Components: Routing Engine > Affects Versions: 1.5.0 > Reporter: Ken Giusti > Assignee: Chuck Rolke > Priority: Minor > Fix For: 1.6.0 > > > Running the system_tests_edge_router under valgrind: > ==21590== 657 (256 direct, 401 indirect) bytes in 4 blocks are definitely > lost in loss record 2,886 of 3,532 > ==21590== at 0x4C3147C: memalign (vg_replace_malloc.c:908) > ==21590== by 0x4C31589: posix_memalign (vg_replace_malloc.c:1072) > ==21590== by 0x4EA12FF: qd_alloc (alloc_pool.c:181) > ==21590== by 0x4E83086: qdrc_endpoint_create_link_CT > (core_link_endpoint.c:70) > ==21590== by 0x4E92C2C: on_conn_event (addr_proxy.c:237) > ==21590== by 0x4E92C2C: on_conn_event (addr_proxy.c:199) > ==21590== by 0x4E82E28: qdrc_event_conn_raise (core_events.c:90) > ==21590== by 0x4E82E28: qdrc_event_conn_raise (core_events.c:90) > ==21590== by 0x4E8123F: qdr_connection_opened_CT (connections.c:1147) > ==21590== by 0x4E8C916: router_core_thread (router_core_thread.c:124) > ==21590== by 0x5511593: start_thread (in /usr/lib64/libpthread-2.27.so) > ==21590== by 0x62A6F4E: clone (in /usr/lib64/libc-2.27.so) > ==21590== > Appears that the endpoint allocated here in addr_proxy.c: > // > // Attach a receiving link for edge address tracking updates. > // > ap->tracking_endpoint = > qdrc_endpoint_create_link_CT(ap->core, conn, QD_INCOMING, > > qdr_terminus_normal(QD_TERMINUS_EDGE_ADDRESS_TRACKING), > qdr_terminus(0), > &ap->endpoint_descriptor, ap); > is not released when the router is shutdown -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org