Daniel Laügt created AMQCPP-437:
-----------------------------------
Summary: ActiveMQ crashes on subscribing one listener on several
topics with a same session.
Key: AMQCPP-437
URL: https://issues.apache.org/jira/browse/AMQCPP-437
Project: ActiveMQ C++ Client
Issue Type: Bug
Affects Versions: 3.4.3
Environment: Linux (Ubuntu 12.10) with gcc 4.4.
Reporter: Daniel Laügt
Assignee: Timothy Bish
ActiveMQ crashes on subscribing one listener on several topics with a same
session.
It crashes on freeing an object in ActiveMQSessionExecutor::wakeup() and
ActiveMQSessionExecutor::stop().
Each time that a listener is subscribed to a topic, ActiveMQ stops the session.
In ActiveMQSessionExecutor::stop(), the shared pointer (this->taskRunner) is
read but in the same time the shared pointer can be modified by
ActiveMQSessionExecutor::wakeup() when a message is received from the topic.
Reading and modifying a shared pointer is not thread safe and should be
protected by a mutex.
I've attached a test case and a proposal patch.
--
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