[
https://issues.apache.org/jira/browse/AMQCPP-460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13576981#comment-13576981
]
Scott Weaver commented on AMQCPP-460:
-------------------------------------
Have it in the debugger. I was wrong. The thread we are joining has not exited
and is parked.
Main thread performing join:
ntdll.dll!7c90e514()
[Frames below may be incorrect and/or missing, no symbols loaded for
ntdll.dll]
ntdll.dll!7c90df5a()
kernel32.dll!7c8025db()
kernel32.dll!7c802542()
activemq-cppud.dll!decaf::internal::util::concurrent::PlatformThread::interruptibleWaitOnCondition(void
* condition=0x00001f18, _RTL_CRITICAL_SECTION * mutex=0x05176728,
decaf::internal::util::concurrent::CompletionCondition & complete={...}) Line
282 C++
activemq-cppud.dll!decaf::internal::util::concurrent::Threading::join(decaf::internal::util::concurrent::ThreadHandle
* thread=0x05176240, __int64 mills=0x0000000000000000, int nanos=0x00000000)
Line 1167 + 0x17 bytes C++
> activemq-cppud.dll!decaf::lang::Thread::join() Line 166 + 0x15 bytes
> C++
CMStressUD.exe!CmsAdapter::Receiver::Close() Line 379 + 0x17 bytes
C++
CMStressUD.exe!CMSMessageHandlerCOMTest::TestSenderAndReceiver::close()
Line 270 C++
CMStressUD.exe!wmain(int argc=0x00000011, wchar_t * * argv=0x010b56d0)
Line 312 C++
CMStressUD.exe!__tmainCRTStartup() Line 583 + 0x19 bytes C
CMStressUD.exe!wmainCRTStartup() Line 403 C
The thread we are attempting to join that is "parked":
ntdll.dll!7c90e514()
[Frames below may be incorrect and/or missing, no symbols loaded for
ntdll.dll]
ntdll.dll!7c90df5a()
kernel32.dll!7c8025db()
kernel32.dll!7c802542()
>
> activemq-cppud.dll!decaf::internal::util::concurrent::PlatformThread::interruptibleWaitOnCondition(void
> * condition=0x00001894, _RTL_CRITICAL_SECTION * mutex=0x05176728,
> decaf::internal::util::concurrent::CompletionCondition & complete={...})
> Line 282 C++
activemq-cppud.dll!decaf::internal::util::concurrent::Threading::park(decaf::lang::Thread
* thread=0x05175e80, __int64 mills=0x0000000000000000, int nanos=0x00000000)
Line 1401 + 0x17 bytes C++
activemq-cppud.dll!decaf::internal::util::concurrent::Threading::park(decaf::lang::Thread
* thread=0x05175e80) Line 1337 + 0xf bytes C++
activemq-cppud.dll!decaf::util::concurrent::locks::LockSupport::park()
Line 54 + 0x11 bytes C++
activemq-cppud.dll!decaf::util::concurrent::locks::SynchronizerState::parkAndCheckInterrupt()
Line 674 C++
activemq-cppud.dll!decaf::util::concurrent::locks::SynchronizerState::acquireQueued(`anonymous-namespace'::Node
* node=0x1d79fea8, int arg=0x00000001) Line 703 + 0x23 bytes C++
activemq-cppud.dll!decaf::util::concurrent::locks::AbstractQueuedSynchronizer::acquire(int
arg=0x00000001) Line 1557 + 0x39 bytes C++
activemq-cppud.dll!decaf::util::concurrent::locks::NonFairSync::lock()
Line 153 C++
activemq-cppud.dll!decaf::util::concurrent::locks::ReentrantLock::lock() Line
236 C++
activemq-cppud.dll!decaf::util::concurrent::ExecutorKernel::shutdown()
Line 825 C++
activemq-cppud.dll!decaf::util::concurrent::ThreadPoolExecutor::shutdown()
Line 1521 C++
activemq-cppud.dll!activemq::core::ConnectionConfig::~ConnectionConfig() Line
270 C++
activemq-cppud.dll!activemq::core::ConnectionConfig::`scalar deleting
destructor'() + 0xf bytes C++
activemq-cppud.dll!activemq::core::ActiveMQConnection::~ActiveMQConnection()
Line 470 + 0x1f bytes C++
activemq-cppud.dll!activemq::core::ActiveMQConnection::`vbase
destructor'() + 0xf bytes C++
activemq-cppud.dll!activemq::core::ActiveMQConnection::`vector deleting
destructor'() + 0x4d bytes C++
activemq-cppud.dll!activemq::cmsutil::ResourceLifecycleManager::destroy() Line
137 + 0x20 bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsAccessor::destroy() Line 130
C++
activemq-cppud.dll!activemq::cmsutil::CmsDestinationAccessor::destroy()
Line 56 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::destroy() Line 210
C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::doReceive(cms::MessageConsumer
* consumer=0x05161ee8) Line 622 + 0x14 bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::ReceiveExecutor::doInCms(cms::Session
* session=0x1d403188) Line 637 + 0xf bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::SessionCallback
* action=0x0a0ffad8) Line 439 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::receiveSelected(const
std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
selector="terminalNumber='30'") Line 710 C++
CMStressUD.exe!CmsAdapter::Receiver::ReceiveMessage(std::basic_string<char,std::char_traits<char>,std::allocator<char>
> & message="", ErrorCode & errorCode=CMS_SUCCESS,
std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
selector="terminalNumber='30'", bool retryOnError=false) Line 155 + 0x1c bytes
C++
CMStressUD.exe!CmsAdapter::Receiver::run() Line 268 C++
activemq-cppud.dll!decaf::lang::Thread::run() Line 143 C++
activemq-cppud.dll!`anonymous namespace'::runCallback(void *
arg=0x05176240) Line 262 + 0x11 bytes C++
activemq-cppud.dll!`anonymous namespace'::threadEntryMethod(void *
arg=0x05176240) Line 250 + 0x15 bytes C++
msvcr90d.dll!_callthreadstartex() Line 348 + 0xf bytes C
msvcr90d.dll!_threadstartex(void * ptd=0x0113efa0) Line 331 C
kernel32.dll!7c80b729()
> Access Violation
> ----------------
>
> Key: AMQCPP-460
> URL: https://issues.apache.org/jira/browse/AMQCPP-460
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: CMS Impl
> Affects Versions: 3.6.0
> Environment: Windows XP VS2008
> Reporter: Scott Weaver
> Assignee: Timothy Bish
>
> Access violation using 3.6.x snapshot from 2/8.
> > activemq-cppd.dll!activemq::transport::TransportFilter::stop() Line
> > 102 + 0x11 bytes C++
> activemq-cppd.dll!activemq::transport::tcp::TcpTransport::stop() Line
> 151 C++
> activemq-cppd.dll!activemq::transport::TransportFilter::stop() Line
> 103 C++
>
> activemq-cppd.dll!activemq::transport::inactivity::InactivityMonitor::stop()
> Line 289 C++
> activemq-cppd.dll!activemq::transport::TransportFilter::stop() Line
> 103 C++
> activemq-cppd.dll!activemq::transport::TransportFilter::stop() Line
> 103 C++
> activemq-cppd.dll!activemq::core::OnExceptionRunnable::run() Line 371
> + 0x1e bytes C++
>
> activemq-cppd.dll!decaf::util::concurrent::ExecutorKernel::runWorker(decaf::util::concurrent::ExecutorKernel::Worker
> * w=0x0e855350) Line 726 + 0xd bytes C++
>
> activemq-cppd.dll!decaf::util::concurrent::ExecutorKernel::Worker::run()
> Line 184 C++
> activemq-cppd.dll!decaf::lang::Thread::run() Line 143 C++
> activemq-cppd.dll!`anonymous namespace'::runCallback(void *
> arg=0x143358a0) Line 262 + 0x11 bytes C++
> activemq-cppd.dll!`anonymous namespace'::threadEntryMethod(void *
> arg=0x143358a0) Line 250 + 0x15 bytes C++
> msvcr90d.dll!_callthreadstartex() Line 348 + 0xf bytes C
> msvcr90d.dll!_threadstartex(void * ptd=0x0e6f07f0) Line 331 C
> kernel32.dll!7c80b729()
> [Frames below may be incorrect and/or missing, no symbols loaded for
> kernel32.dll]
--
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