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

Clifford Jansen commented on PROTON-2239:
-----------------------------------------

The memory corruption angle tended to muddy the waters and obscure the cause of 
the crash. Eventually some core dumps identified timers as being in the mix. On 
a hunch, the following reproducer was attempted and provided identical stack 
traces. Even knowing what to look for, it is necessary to tune the timing of 
the peer's close operation to maximize the opportunity for expose the bug.

> epoll proactor race condition on connection teardown with heartbeats
> --------------------------------------------------------------------
>
>                 Key: PROTON-2239
>                 URL: https://issues.apache.org/jira/browse/PROTON-2239
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>    Affects Versions: proton-c-0.28.0
>            Reporter: Clifford Jansen
>            Assignee: Clifford Jansen
>            Priority: Major
>         Attachments: xxx.c
>
>
> If a connection with heartbeats is closed at about the same time to when its 
> idle timeout timer fires, it is possible to have two threads believing they 
> are the last activity on the connection. Both threads proceed to free the 
> same resources leading to memory corruption and various crashes.
> The existing code has guards for this exact situation, but there is an 
> Achilles heel somewhere.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to