[ https://issues.apache.org/jira/browse/QPID-4672?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chuck Rolke resolved QPID-4672. ------------------------------- Resolution: Fixed Fix Version/s: 0.22 Fixed and back ported to 0.22 > C++ Broker deadlock detaching XmlExchange sessions > -------------------------------------------------- > > Key: QPID-4672 > URL: https://issues.apache.org/jira/browse/QPID-4672 > Project: Qpid > Issue Type: Bug > Components: C++ Broker > Affects Versions: 0.20 > Environment: C++ Broker, autotools build, make check or > run_federation_tests > Reporter: Chuck Rolke > Priority: Critical > Fix For: 0.22 > > > Self test federation.FederationTests.test_dynamic_topic locks up. Pstack > shows three threads with the same trace: > #0 pthread_rwlock_wrlock () > #1 qpid::broker::XmlExchange::unbind() > #2 qpid::broker::XmlExchange::fedUnbind() > #3 qpid::broker::XmlExchange::bind() > #4 qpid::broker::Queue::bind() > #5 qpid::broker::Broker::bind() > #6 qpid::broker::SemanticState::unbindSessionBindings() > #7 qpid::broker::SemanticState::closed() > #8 qpid::broker::SessionState::~SessionState() > #9 qpid::broker::SessionState::~SessionState() > #10 qpid::broker::SessionHandler::handleDetach() > #11 qpid::amqp_0_10::SessionHandler::detach() > The lock occurs because there are two simultaneous session detach calls going > on. Each takes out the Rlock and then tries to take out the Wlock. Neither > will get the Wlock until everyone else releases their Rlock. Subsequent > detach calls fall into the same catch as they get the Rlock but not the Wlock. > This condition is present in both the XmlExchange and DirectExchange. I'll > have a patch for review shortly. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org