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.