[
https://issues.apache.org/jira/browse/AMQCPP-330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timothy Bish resolved AMQCPP-330.
---------------------------------
Resolution: Fixed
Fix Version/s: 3.3.0
Fixed in trunk.
> Unable to reinitialize ActiveMQ CMS library and then open a session
> -------------------------------------------------------------------
>
> Key: AMQCPP-330
> URL: https://issues.apache.org/jira/browse/AMQCPP-330
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: Decaf
> Affects Versions: 3.2.3
> Environment: Windows XP SP2
> Reporter: Evan Kuhn
> Assignee: Timothy Bish
> Priority: Minor
> Fix For: 3.3.0
>
> Attachments: multi_init_test_main.cpp
>
>
> I'm working on a project that initializes and shuts down the ActiveMQ CMS
> library multiple times. After upgrading from CMS 3.1.3 to 3.2.3, I noticed
> that my process crashes after these steps:
> 1) Initialize ActiveMQ CMS library
> 2) Create connection, session, etc and do work
> 3) Shut down ActiveMQ CMS library
> 4) Initialize ActiveMQ CMS library a second time
> 5) Create a connection, then a session... crash
> First off, am I allowed to reinitialize the CMS library after shutting it
> down? Is it recommended not to?
> Either way, the program crashes at:
> /main/activemq/transport/tcp/TcpTransport.cpp line 163
> I believe the error is in /main/decaf/net/SocketFactory.cpp. The static
> SocketFactory::defaultFactory pointer (line 30) is set while creating the
> first session. Then when shutting down the library, the Network object
> destroys the object pointed to by SocketFactory::defaultFactory. The next
> time around, SocketFactory::getDefault() will try to use the pointer, but the
> factory object has been destroyed, so the process crashes.
> One possible fix is to modify the SocketFactory destructor to set the
> defaultFactory pointer to NULL. I have no idea if that's a good solution,
> though.
> I will attach a test program to reproduce the crash.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.