[
https://issues.apache.org/jira/browse/PROTON-2568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17556953#comment-17556953
]
Ken Giusti commented on PROTON-2568:
------------------------------------
Added example fix.
> Leak of addrinfo memory held by raw connection
> -----------------------------------------------
>
> Key: PROTON-2568
> URL: https://issues.apache.org/jira/browse/PROTON-2568
> Project: Qpid Proton
> Issue Type: Bug
> Components: proton-c
> Affects Versions: proton-c-0.37.0, proton-c-0.38.0
> Reporter: Ken Giusti
> Priority: Major
> Attachments: fix.patch
>
>
> This leak can be triggered by running the skupper-router http1 unit test for
> a single router, example:
> /usr/bin/python3.10
> "/home/kgiusti/work/skupper/skupper-router/BUILD/tests/run.py" "-m"
> "unittest" "-v"
> "system_tests_http1_adaptor.Http1AdaptorOneRouterTest.test_001_get"
>
> The leak occurs when skupper-router is attempting to connect to a remote HTTP
> server via a raw connection but shuts down before any raw connection events
> are processed (e.g. No PN_RAW_CONNECTION_CONNECTED or _DISCONNECTED).
> During shutdown the router frees the proactor and expects any outstanding raw
> connection resources owned by it to be freed.
> I've traced the proactor shutdown logic, and when the leak occurs there is a
> final call to praw_connection_cleanup() for the outstanding connection, but
> the praw_connection_t still holds a pointer to the allocated addrinfo.
> praw_connection_cleanup() frees the praw_connection_t but does not call
> freeaddrinfo(prc->addrinfo) to release the addrinfo memory.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]