You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by diedie <yu...@gvdigital.com> on 2010/01/15 09:32:28 UTC

Handle leaks using CMS-3.1

Hi,

I recently upgraded my cms library from 3.0 to 3.1(built using vs-2005), 
and face some issues that handle leaks when reconnecting to server.

So I wrote a simple testing program based on vs2005-activemq-example, 
and found that it occurs even I just create the connection and close it.
Has any one encountered this before?
Or is there anything I should notice but missed?

Any reply is appreciated.


Here is the code I wrote for testing.
==============================
	while(true){
		ConnectionFactory* connectionFactory(
			ConnectionFactory::createCMSConnectionFactory( "tcp://127.0.0.1:61616" )
);

		Connection* connection = connectionFactory->createConnection();
		connection->start();
		connection->close();
		delete connection;
		connection = NULL;
		delete connectionFactory;
		connectionFactory = NULL;
		Sleep(2000);
	}
=============================

And following are the reports generated using DebugDiag.
It's strange that it leaks in different when I using different linking
method.

Static Linking case :
Function   msvcr80d!_beginthreadex+fd 
Allocation type   Thread handle(s) 
Handle Count   816 handle(s) 
Leak Probability   100% 

Call stack sample 1

Handle   0x00001448 Allocation Time   00:05:26 since tracking started 
Function   Source   Destination 
msvcr80d!_beginthreadex+fd  
f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c @ 206  
kernel32!CreateThread 
vs2005_activemq_example!decaf::lang::Thread::start+13b  
e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\decaf\lang\thread.cpp
@ 378   msvcr80d!_beginthreadex 
msvcr80d!_free_dbg+5d   f:\dd\vctools\crt_bld\self_x86\crt\src\dbgheap.c @
1222    
msvcr80d!operator delete+c6  
f:\dd\vctools\crt_bld\self_x86\crt\src\dbgdel.cpp @ 56    
vs2005_activemq_example!activemq::transport::IOTransport::start+1de  
e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\iotransport.cpp
@ 166    
vs2005_activemq_example!activemq::transport::TransportFilter::start+53  
e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\transportfilter.cpp
@ 90    
vs2005_activemq_example!activemq::transport::correlator::ResponseCorrelator::start+113  
e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\correlator\responsecorrelator.cpp
@ 243    
vs2005_activemq_example!activemq::core::ActiveMQConnection::ActiveMQConnection+21b  
e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\core\activemqconnection.cpp
@ 80    
vs2005_activemq_example!activemq::core::ActiveMQConnectionFactory::createConnection+39c  
e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\core\activemqconnectionfactory.cpp
@ 143    
vs2005_activemq_example!main+14a  
e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\examples\main.cpp @
397    
vs2005_activemq_example!mainCRTStartup+d  
f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 414    
kernel32!BaseProcessStart+23 

Dynamic Linking case :
Function  
libactivemq_cpp_31_vc80_mt_d!decaf::internal::util::concurrent::ConditionImpl::create+a5 
Allocation type   Semaphore handle(s) 
Handle Count   2730 handle(s) 
Leak Probability   100% 

Call stack sample 1

Handle   0x00000784 
Allocation Time   00:05:06 since tracking started 
Function   Source   Destination 
libactivemq_cpp_31_vc80_mt_d!decaf::internal::util::concurrent::ConditionImpl::create+a5  
e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\decaf\internal\util\concurrent\windows\conditionimpl.cpp
@ 47   kernel32!CreateSemaphoreA 
libactivemq_cpp_31_vc80_mt_d!activemq::transport::tcp::TcpTransport::initialize+452  
e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\tcp\tcptransport.cpp
@ 129    
libactivemq_cpp_31_vc80_mt_d!activemq::transport::tcp::TcpTransportFactory::doCreateComposite+12d  
e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\tcp\tcptransportfactory.cpp
@ 99    
libactivemq_cpp_31_vc80_mt_d!activemq::transport::tcp::TcpTransportFactory::create+c1  
e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\tcp\tcptransportfactory.cpp
@ 53    
libactivemq_cpp_31_vc80_mt_d!activemq::core::ActiveMQConnectionFactory::createConnection+2df  
e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\core\activemqconnectionfactory.cpp
@ 133    
vs2005_activemq_example!main+168  
e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\examples\main.cpp @
397    
vs2005_activemq_example!mainCRTStartup+d  
f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 414    
kernel32!BaseProcessStart+23 

-- 
View this message in context: http://old.nabble.com/Handle-leaks-using-CMS-3.1-tp27173352p27173352.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Handle leaks using CMS-3.1

Posted by Timothy Bish <ta...@gmail.com>.
On Fri, 2010-01-15 at 00:32 -0800, diedie wrote:
> Hi,
> 
> I recently upgraded my cms library from 3.0 to 3.1(built using vs-2005), 
> and face some issues that handle leaks when reconnecting to server.
> 
> So I wrote a simple testing program based on vs2005-activemq-example, 
> and found that it occurs even I just create the connection and close it.
> Has any one encountered this before?
> Or is there anything I should notice but missed?
> 
> Any reply is appreciated.

If you could open a new Jira info and attach this info there it would
help to ensure that this issue doesn't get lost on the mailing list.  It
looks like there could be a leak in the ConditionImpl class, which is
new for this release.  

Regards
Tim.

> 
> 
> Here is the code I wrote for testing.
> ==============================
> 	while(true){
> 		ConnectionFactory* connectionFactory(
> 			ConnectionFactory::createCMSConnectionFactory( "tcp://127.0.0.1:61616" )
> );
> 
> 		Connection* connection = connectionFactory->createConnection();
> 		connection->start();
> 		connection->close();
> 		delete connection;
> 		connection = NULL;
> 		delete connectionFactory;
> 		connectionFactory = NULL;
> 		Sleep(2000);
> 	}
> =============================
> 
> And following are the reports generated using DebugDiag.
> It's strange that it leaks in different when I using different linking
> method.
> 
> Static Linking case :
> Function   msvcr80d!_beginthreadex+fd 
> Allocation type   Thread handle(s) 
> Handle Count   816 handle(s) 
> Leak Probability   100% 
> 
> Call stack sample 1
> 
> Handle   0x00001448 Allocation Time   00:05:26 since tracking started 
> Function   Source   Destination 
> msvcr80d!_beginthreadex+fd  
> f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c @ 206  
> kernel32!CreateThread 
> vs2005_activemq_example!decaf::lang::Thread::start+13b  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\decaf\lang\thread.cpp
> @ 378   msvcr80d!_beginthreadex 
> msvcr80d!_free_dbg+5d   f:\dd\vctools\crt_bld\self_x86\crt\src\dbgheap.c @
> 1222    
> msvcr80d!operator delete+c6  
> f:\dd\vctools\crt_bld\self_x86\crt\src\dbgdel.cpp @ 56    
> vs2005_activemq_example!activemq::transport::IOTransport::start+1de  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\iotransport.cpp
> @ 166    
> vs2005_activemq_example!activemq::transport::TransportFilter::start+53  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\transportfilter.cpp
> @ 90    
> vs2005_activemq_example!activemq::transport::correlator::ResponseCorrelator::start+113  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\correlator\responsecorrelator.cpp
> @ 243    
> vs2005_activemq_example!activemq::core::ActiveMQConnection::ActiveMQConnection+21b  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\core\activemqconnection.cpp
> @ 80    
> vs2005_activemq_example!activemq::core::ActiveMQConnectionFactory::createConnection+39c  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\core\activemqconnectionfactory.cpp
> @ 143    
> vs2005_activemq_example!main+14a  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\examples\main.cpp @
> 397    
> vs2005_activemq_example!mainCRTStartup+d  
> f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 414    
> kernel32!BaseProcessStart+23 
> 
> Dynamic Linking case :
> Function  
> libactivemq_cpp_31_vc80_mt_d!decaf::internal::util::concurrent::ConditionImpl::create+a5 
> Allocation type   Semaphore handle(s) 
> Handle Count   2730 handle(s) 
> Leak Probability   100% 
> 
> Call stack sample 1
> 
> Handle   0x00000784 
> Allocation Time   00:05:06 since tracking started 
> Function   Source   Destination 
> libactivemq_cpp_31_vc80_mt_d!decaf::internal::util::concurrent::ConditionImpl::create+a5  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\decaf\internal\util\concurrent\windows\conditionimpl.cpp
> @ 47   kernel32!CreateSemaphoreA 
> libactivemq_cpp_31_vc80_mt_d!activemq::transport::tcp::TcpTransport::initialize+452  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\tcp\tcptransport.cpp
> @ 129    
> libactivemq_cpp_31_vc80_mt_d!activemq::transport::tcp::TcpTransportFactory::doCreateComposite+12d  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\tcp\tcptransportfactory.cpp
> @ 99    
> libactivemq_cpp_31_vc80_mt_d!activemq::transport::tcp::TcpTransportFactory::create+c1  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\tcp\tcptransportfactory.cpp
> @ 53    
> libactivemq_cpp_31_vc80_mt_d!activemq::core::ActiveMQConnectionFactory::createConnection+2df  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\core\activemqconnectionfactory.cpp
> @ 133    
> vs2005_activemq_example!main+168  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\examples\main.cpp @
> 397    
> vs2005_activemq_example!mainCRTStartup+d  
> f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 414    
> kernel32!BaseProcessStart+23 
> 

-- 
Tim Bish
http://fusesource.com
http://timbish.blogspot.com/




Re: Handle leaks using CMS-3.1

Posted by diedie <yu...@gvdigital.com>.
Hi, 

Thank you for your reply.

I do initialize and shutdown the library.
Here is the complete code.

int main(int argc AMQCPP_UNUSED, char* argv[] AMQCPP_UNUSED) {

    activemq::library::ActiveMQCPP::initializeLibrary();

    std::cout << "=====================================================\n";
    std::cout << "Starting the example:" << std::endl;
    std::cout << "-----------------------------------------------------\n";

	while(true){
		ConnectionFactory* connectionFactory(
			ConnectionFactory::createCMSConnectionFactory( "tcp://127.0.0.1:61616" )
);

		Connection* connection = connectionFactory->createConnection();
		connection->start();
		connection->close();
		delete connection;
		connection = NULL;
		delete connectionFactory;
		connectionFactory = NULL;
		Sleep(2000);
	}

    activemq::library::ActiveMQCPP::shutdownLibrary();
}

Regards,
diedie



Timothy Bish wrote:
> 
> On Fri, 2010-01-15 at 00:32 -0800, diedie wrote:
>> Hi,
>> 
>> I recently upgraded my cms library from 3.0 to 3.1(built using vs-2005), 
>> and face some issues that handle leaks when reconnecting to server.
>> 
>> So I wrote a simple testing program based on vs2005-activemq-example, 
>> and found that it occurs even I just create the connection and close it.
>> Has any one encountered this before?
>> Or is there anything I should notice but missed?
>> 
>> Any reply is appreciated.
>> 
>> 
>> Here is the code I wrote for testing.
>> ==============================
>> 	while(true){
>> 		ConnectionFactory* connectionFactory(
>> 			ConnectionFactory::createCMSConnectionFactory( "tcp://127.0.0.1:61616"
>> )
>> );
>> 
>> 		Connection* connection = connectionFactory->createConnection();
>> 		connection->start();
>> 		connection->close();
>> 		delete connection;
>> 		connection = NULL;
>> 		delete connectionFactory;
>> 		connectionFactory = NULL;
>> 		Sleep(2000);
>> 	}
>> =============================
>> 
>> And following are the reports generated using DebugDiag.
>> It's strange that it leaks in different when I using different linking
>> method.
>> 
>> Static Linking case :
>> Function   msvcr80d!_beginthreadex+fd 
>> Allocation type   Thread handle(s) 
>> Handle Count   816 handle(s) 
>> Leak Probability   100% 
>> 
>> Call stack sample 1
> 
> So far I have not found any leaks.  Did your complete application
> include code to initialize and shutdown the ActiveMQ-CPP library, its
> not included in the snippet.  
> 
> Regards
> Tim.
> 
>> 
>> Handle   0x00001448 Allocation Time   00:05:26 since tracking started 
>> Function   Source   Destination 
>> msvcr80d!_beginthreadex+fd  
>> f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c @ 206  
>> kernel32!CreateThread 
>> vs2005_activemq_example!decaf::lang::Thread::start+13b  
>> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\decaf\lang\thread.cpp
>> @ 378   msvcr80d!_beginthreadex 
>> msvcr80d!_free_dbg+5d   f:\dd\vctools\crt_bld\self_x86\crt\src\dbgheap.c
>> @
>> 1222    
>> msvcr80d!operator delete+c6  
>> f:\dd\vctools\crt_bld\self_x86\crt\src\dbgdel.cpp @ 56    
>> vs2005_activemq_example!activemq::transport::IOTransport::start+1de  
>> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\iotransport.cpp
>> @ 166    
>> vs2005_activemq_example!activemq::transport::TransportFilter::start+53  
>> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\transportfilter.cpp
>> @ 90    
>> vs2005_activemq_example!activemq::transport::correlator::ResponseCorrelator::start+113  
>> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\correlator\responsecorrelator.cpp
>> @ 243    
>> vs2005_activemq_example!activemq::core::ActiveMQConnection::ActiveMQConnection+21b  
>> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\core\activemqconnection.cpp
>> @ 80    
>> vs2005_activemq_example!activemq::core::ActiveMQConnectionFactory::createConnection+39c  
>> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\core\activemqconnectionfactory.cpp
>> @ 143    
>> vs2005_activemq_example!main+14a  
>> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\examples\main.cpp @
>> 397    
>> vs2005_activemq_example!mainCRTStartup+d  
>> f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 414    
>> kernel32!BaseProcessStart+23 
>> 
>> Dynamic Linking case :
>> Function  
>> libactivemq_cpp_31_vc80_mt_d!decaf::internal::util::concurrent::ConditionImpl::create+a5 
>> Allocation type   Semaphore handle(s) 
>> Handle Count   2730 handle(s) 
>> Leak Probability   100% 
>> 
>> Call stack sample 1
>> 
>> Handle   0x00000784 
>> Allocation Time   00:05:06 since tracking started 
>> Function   Source   Destination 
>> libactivemq_cpp_31_vc80_mt_d!decaf::internal::util::concurrent::ConditionImpl::create+a5  
>> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\decaf\internal\util\concurrent\windows\conditionimpl.cpp
>> @ 47   kernel32!CreateSemaphoreA 
>> libactivemq_cpp_31_vc80_mt_d!activemq::transport::tcp::TcpTransport::initialize+452  
>> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\tcp\tcptransport.cpp
>> @ 129    
>> libactivemq_cpp_31_vc80_mt_d!activemq::transport::tcp::TcpTransportFactory::doCreateComposite+12d  
>> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\tcp\tcptransportfactory.cpp
>> @ 99    
>> libactivemq_cpp_31_vc80_mt_d!activemq::transport::tcp::TcpTransportFactory::create+c1  
>> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\tcp\tcptransportfactory.cpp
>> @ 53    
>> libactivemq_cpp_31_vc80_mt_d!activemq::core::ActiveMQConnectionFactory::createConnection+2df  
>> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\core\activemqconnectionfactory.cpp
>> @ 133    
>> vs2005_activemq_example!main+168  
>> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\examples\main.cpp @
>> 397    
>> vs2005_activemq_example!mainCRTStartup+d  
>> f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 414    
>> kernel32!BaseProcessStart+23 
>> 
> 
> -- 
> Tim Bish
> http://fusesource.com
> http://timbish.blogspot.com/
> 
> 
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/Handle-leaks-using-CMS-3.1-tp27173352p27235982.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Handle leaks using CMS-3.1

Posted by Timothy Bish <ta...@gmail.com>.
On Fri, 2010-01-15 at 00:32 -0800, diedie wrote:
> Hi,
> 
> I recently upgraded my cms library from 3.0 to 3.1(built using vs-2005), 
> and face some issues that handle leaks when reconnecting to server.
> 
> So I wrote a simple testing program based on vs2005-activemq-example, 
> and found that it occurs even I just create the connection and close it.
> Has any one encountered this before?
> Or is there anything I should notice but missed?
> 
> Any reply is appreciated.
> 
> 
> Here is the code I wrote for testing.
> ==============================
> 	while(true){
> 		ConnectionFactory* connectionFactory(
> 			ConnectionFactory::createCMSConnectionFactory( "tcp://127.0.0.1:61616" )
> );
> 
> 		Connection* connection = connectionFactory->createConnection();
> 		connection->start();
> 		connection->close();
> 		delete connection;
> 		connection = NULL;
> 		delete connectionFactory;
> 		connectionFactory = NULL;
> 		Sleep(2000);
> 	}
> =============================
> 
> And following are the reports generated using DebugDiag.
> It's strange that it leaks in different when I using different linking
> method.
> 
> Static Linking case :
> Function   msvcr80d!_beginthreadex+fd 
> Allocation type   Thread handle(s) 
> Handle Count   816 handle(s) 
> Leak Probability   100% 
> 
> Call stack sample 1

So far I have not found any leaks.  Did your complete application
include code to initialize and shutdown the ActiveMQ-CPP library, its
not included in the snippet.  

Regards
Tim.

> 
> Handle   0x00001448 Allocation Time   00:05:26 since tracking started 
> Function   Source   Destination 
> msvcr80d!_beginthreadex+fd  
> f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c @ 206  
> kernel32!CreateThread 
> vs2005_activemq_example!decaf::lang::Thread::start+13b  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\decaf\lang\thread.cpp
> @ 378   msvcr80d!_beginthreadex 
> msvcr80d!_free_dbg+5d   f:\dd\vctools\crt_bld\self_x86\crt\src\dbgheap.c @
> 1222    
> msvcr80d!operator delete+c6  
> f:\dd\vctools\crt_bld\self_x86\crt\src\dbgdel.cpp @ 56    
> vs2005_activemq_example!activemq::transport::IOTransport::start+1de  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\iotransport.cpp
> @ 166    
> vs2005_activemq_example!activemq::transport::TransportFilter::start+53  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\transportfilter.cpp
> @ 90    
> vs2005_activemq_example!activemq::transport::correlator::ResponseCorrelator::start+113  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\correlator\responsecorrelator.cpp
> @ 243    
> vs2005_activemq_example!activemq::core::ActiveMQConnection::ActiveMQConnection+21b  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\core\activemqconnection.cpp
> @ 80    
> vs2005_activemq_example!activemq::core::ActiveMQConnectionFactory::createConnection+39c  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\core\activemqconnectionfactory.cpp
> @ 143    
> vs2005_activemq_example!main+14a  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\examples\main.cpp @
> 397    
> vs2005_activemq_example!mainCRTStartup+d  
> f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 414    
> kernel32!BaseProcessStart+23 
> 
> Dynamic Linking case :
> Function  
> libactivemq_cpp_31_vc80_mt_d!decaf::internal::util::concurrent::ConditionImpl::create+a5 
> Allocation type   Semaphore handle(s) 
> Handle Count   2730 handle(s) 
> Leak Probability   100% 
> 
> Call stack sample 1
> 
> Handle   0x00000784 
> Allocation Time   00:05:06 since tracking started 
> Function   Source   Destination 
> libactivemq_cpp_31_vc80_mt_d!decaf::internal::util::concurrent::ConditionImpl::create+a5  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\decaf\internal\util\concurrent\windows\conditionimpl.cpp
> @ 47   kernel32!CreateSemaphoreA 
> libactivemq_cpp_31_vc80_mt_d!activemq::transport::tcp::TcpTransport::initialize+452  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\tcp\tcptransport.cpp
> @ 129    
> libactivemq_cpp_31_vc80_mt_d!activemq::transport::tcp::TcpTransportFactory::doCreateComposite+12d  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\tcp\tcptransportfactory.cpp
> @ 99    
> libactivemq_cpp_31_vc80_mt_d!activemq::transport::tcp::TcpTransportFactory::create+c1  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\transport\tcp\tcptransportfactory.cpp
> @ 53    
> libactivemq_cpp_31_vc80_mt_d!activemq::core::ActiveMQConnectionFactory::createConnection+2df  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\main\activemq\core\activemqconnectionfactory.cpp
> @ 133    
> vs2005_activemq_example!main+168  
> e:\3rdparty\activemq\cms-3.1\activemq-cpp-library\src\examples\main.cpp @
> 397    
> vs2005_activemq_example!mainCRTStartup+d  
> f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 414    
> kernel32!BaseProcessStart+23 
> 

-- 
Tim Bish
http://fusesource.com
http://timbish.blogspot.com/