[ 
https://issues.apache.org/jira/browse/QPID-2588?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gordon Sim reopened QPID-2588:
------------------------------


The root of this race was not properly fixed by previous patch, re-opening.

> 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.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to