[
https://issues.apache.org/jira/browse/AMQCPP-328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12969487#action_12969487
]
Helen Huang commented on AMQCPP-328:
------------------------------------
We are moving closer to our release date and I am wondering if there is any
progress on this jira. Thanks!
We could use the failover protocal if it can exit cleanly. In the following
code, m_asyncReceiverThread is a thread that calls cmsTemplate::receive(), and
it uses the failover transport. When we exit the program, we call
m_asyncReceiverThread->join();
if(m_asyncReceiverThread)
{
m_asyncReceiverThread->join();
delete m_asyncReceiverThread;
m_asyncReceiverThread=NULL;
}
But if the borker is down, then m_asyncReceiverThread->join(); waits forever...
I changed it to m_asyncReceiverThread->join(2000); This time we found the
receiver thread is able to exit, but it does not release the resources it
holds...
Do you have any good suggestions on how to terminate that thread? I was
searching for a "interrupt()" function in the Thread class but could not find
it. If we had that function, then we can try to catch the interrupted
exception and release the resource.
> crash found in activemqcpp when turning broker offline
> ------------------------------------------------------
>
> Key: AMQCPP-328
> URL: https://issues.apache.org/jira/browse/AMQCPP-328
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: CMS Impl
> Affects Versions: 3.2.3
> Environment: Windows xp service pack 3, ActiveMQ broker 5.3.1, apr
> 1.4.2, apr-util 1.3.9, apr iconv 1.2.1
> Reporter: Helen Huang
> Assignee: Timothy Bish
> Fix For: 3.2.4
>
> Attachments: BrokerMonitor.zip, screenshot-1.jpg, test program.zip
>
>
> We found a crash in activemqcpp when we are shutting down the message broker.
> In the meanwhile, our application is still trying to send messages to the
> broker, and to receive messages from it. Could you please take a look at this
> problem? Much thanks for your help!
> The place of the crash appears to be in TransportFilter::Fire(Exception&) on
> line 49. The content of the address that the listener pointer is pointing to
> seems to be corrupted/garbage. Please see the call stack in the attached
> screen shot for details.
> Attached please also find a test program to reproduce the problem. Step to
> run the test program:
> (1) download and unzip test program
> (2) register GTOUD.dll
> (3) register CmsMessageHandlerCOMUD.dll
> (4) run CmsMessageHandlerCOMTest.exe
> (5) repeatedly restart activemqcpp broker.
> (6) observe the crash
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.