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

ASF subversion and git services commented on QPID-5366:
-------------------------------------------------------

Commit 1543893 from [~aconway] in branch 'qpid/trunk'
[ https://svn.apache.org/r1543893 ]

QPID-5366: qpid segfaults in qpid::ha::BrokerReplicator::disconnected

Fix for a race condition: previously, BrokerReplicator created a separate
ConnectionObserver object to forward connection events to it. However the
Observers locking is such that it is possible for an event to arrive *after*
calling Observers::remove (Observers copies the pointers and delivers events
outside its lock.) This meant that it was possible for a call to
BrokerReplicator::disconnect to be made after the BrokerReplicator was deleted.

The fix is to combine BrokerReplicator and BrokerReplicator::ConnectionObserver
into a single object with one lifetime that will last until it is removed from
both the ExchangeRegistry and the ConnectionObservers.

>  qpid segfaults in qpid::ha::BrokerReplicator::disconnected
> -----------------------------------------------------------
>
>                 Key: QPID-5366
>                 URL: https://issues.apache.org/jira/browse/QPID-5366
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Clustering
>    Affects Versions: 0.24
>            Reporter: Alan Conway
>            Assignee: Alan Conway
>
> Relocating the qpidd-primary service while the cluster is under load was 
> causing sporadic core dumps in BrokerReplicator::disconnected. For details 
> see:
> https://bugzilla.redhat.com/show_bug.cgi?id=1030608



--
This message was sent by Atlassian JIRA
(v6.1#6144)

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

Reply via email to