You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Justin Ross (JIRA)" <ji...@apache.org> on 2013/07/29 20:23:49 UTC

[jira] [Commented] (QPID-2588) Race condition in queue

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

Justin Ross commented on QPID-2588:
-----------------------------------

http://svn.apache.org/viewvc?view=revision&revision=944683
                
> Race condition in queue
> -----------------------
>
>                 Key: QPID-2588
>                 URL: https://issues.apache.org/jira/browse/QPID-2588
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.6
>            Reporter: Gordon Sim
>         Attachments: QPID-2588.patch
>
>
> ==32561== Possible data race during read of size 8 at 0x60260f0 by thread #9
> ==32561==    at 0x4F1AC4A: qpid::broker::Queue::enqueue(qpid::broker::TransactionContext*, boost::intrusive_ptr<qpid::broker::Message>, bool) (Queue.cpp:743)
> ==32561==    by 0x4F1577E: qpid::broker::Queue::deliver(boost::intrusive_ptr<qpid::broker::Message>&) (Queue.cpp:157)
> ==32561==    by 0x4ECC2A1: qpid::broker::DeliverableMessage::deliverTo(boost::shared_ptr<qpid::broker::Queue> const&) (DeliverableMessage.cpp:31)
> ==32561==    by 0x4EE3AD2: qpid::broker::Exchange::doRoute(qpid::broker::Deliverable&, boost::shared_ptr<std::vector<boost::shared_ptr<qpid::broker::Exchange::Binding>, std::allocator<boost::shared_ptr<qpid::broker::Exchange::Binding> > > const>) (Exchange.cpp:91)
> ==32561==    by 0x4F74702: qpid::broker::TopicExchange::route(qpid::broker::Deliverable&, std::string const&, qpid::framing::FieldTable const*) (TopicExchange.cpp:321)
> ==32561==    by 0x4F490DC: qpid::broker::SemanticState::route(boost::intrusive_ptr<qpid::broker::Message>, qpid::broker::Deliverable&) (SemanticState.cpp:461)
> ==32561==    by 0x4F482C6: qpid::broker::SemanticState::handle(boost::intrusive_ptr<qpid::broker::Message>) (SemanticState.cpp:415)
> ==32561==    by 0x4F6DB55: qpid::broker::SessionState::handleContent(qpid::framing::AMQFrame&, qpid::framing::SequenceNumber const&) (SessionState.cpp:249)
> ==32561==    by 0x4F6E803: qpid::broker::SessionState::handleIn(qpid::framing::AMQFrame&) (SessionState.cpp:327)
> ==32561==    by 0x4F716EC: qpid::framing::Handler<qpid::framing::AMQFrame&>::MemFunRef<qpid::framing::Handler<qpid::framing::AMQFrame&>::InOutHandlerInterface, &(qpid::framing::Handler<qpid::framing::AMQFrame&>::InOutHandlerInterface::handleIn(qpid::framing::AMQFrame&))>::handle(qpid::framing::AMQFrame&) (Handler.h:67)
> ==32561==    by 0x55DF009: qpid::amqp_0_10::SessionHandler::handleIn(qpid::framing::AMQFrame&) (SessionHandler.cpp:93)
> ==32561==    by 0x4F716EC: qpid::framing::Handler<qpid::framing::AMQFrame&>::MemFunRef<qpid::framing::Handler<qpid::framing::AMQFrame&>::InOutHandlerInterface, &(qpid::framing::Handler<qpid::framing::AMQFrame&>::InOutHandlerInterface::handleIn(qpid::framing::AMQFrame&))>::handle(qpid::framing::AMQFrame&) (Handler.h:67)
> ==32561==  This conflicts with a previous write of size 8 by thread #1
> ==32561==    at 0x4F1CA89: qpid::broker::Queue::destroy() (Queue.cpp:900)
> ==32561==    by 0x4F1D48B: qpid::broker::Queue::tryAutoDelete(qpid::broker::Broker&, boost::shared_ptr<qpid::broker::Queue>) (Queue.cpp:1011)
> ==32561==    by 0x4F48029: qpid::broker::SemanticState::cancel(boost::shared_ptr<qpid::broker::SemanticState::ConsumerImpl>) (SemanticState.cpp:402)
> ==32561==    by 0x4F449DE: qpid::broker::SemanticState::~SemanticState() (SemanticState.cpp:84)
> ==32561==    by 0x4F6CCA1: qpid::broker::SessionState::~SessionState() (SessionState.cpp:96)
> ==32561==    by 0x4F6CE53: qpid::broker::SessionState::~SessionState() (SessionState.cpp:96)
> ==32561==    by 0x4F67BDC: std::auto_ptr<qpid::broker::SessionState>::~auto_ptr() (auto_ptr.h:168)
> ==32561==    by 0x4F66CEF: qpid::broker::SessionHandler::handleDetach() (SessionHandler.cpp:70)

--
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-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org