[
https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13289709#comment-13289709
]
Helen Huang edited comment on AMQCPP-407 at 6/5/12 8:51 PM:
------------------------------------------------------------
Hi Timothy,
I was able to set up a development environment where we can recreate the
problem. It crashed on the following line in the function
ActiveMQConnection::onException():
Pointer< Iterator<TransportListener*> > iter(
this->config->transportListeners.iterator() );
Could you please come out a fix for it? Call stack:
msvcr80d.dll!_NMSG_WRITE(int rterrnum=25) Line 198 C
msvcr80d.dll!_purecall() Line 54 + 0x7 bytes C
>
> activemq-cppud.dll!activemq::core::ActiveMQConnection::onException(const
> decaf::lang::Exception & ex={...}) Line 782 + 0x49 bytes C++
activemq-cppud.dll!activemq::transport::TransportFilter::fire(const
decaf::lang::Exception & ex={...}) Line 54 + 0x17 bytes C++
activemq-cppud.dll!activemq::transport::TransportFilter::onException(const
decaf::lang::Exception & ex={...}) Line 47 C++
activemq-cppud.dll!activemq::transport::TransportFilter::fire(const
decaf::lang::Exception & ex={...}) Line 54 + 0x17 bytes C++
activemq-cppud.dll!activemq::transport::TransportFilter::onException(const
decaf::lang::Exception & ex={...}) Line 47 C++
activemq-cppud.dll!activemq::transport::TransportFilter::fire(const
decaf::lang::Exception & ex={...}) Line 54 + 0x17 bytes C++
activemq-cppud.dll!activemq::transport::TransportFilter::onException(const
decaf::lang::Exception & ex={...}) Line 47 C++
activemq-cppud.dll!activemq::transport::inactivity::InactivityMonitor::onException(const
decaf::lang::Exception & ex={...}) Line 314 C++
activemq-cppud.dll!activemq::transport::TransportFilter::fire(const
decaf::lang::Exception & ex={...}) Line 54 + 0x17 bytes C++
activemq-cppud.dll!activemq::transport::TransportFilter::onException(const
decaf::lang::Exception & ex={...}) Line 47 C++
activemq-cppud.dll!activemq::transport::IOTransport::fire(decaf::lang::Exception
& ex={...}) Line 72 + 0x17 bytes C++
activemq-cppud.dll!activemq::transport::IOTransport::run() Line 245
C++
activemq-cppud.dll!decaf::lang::ThreadProperties::runCallback(decaf::lang::ThreadProperties
* properties=0x0eccdde8) Line 137 + 0x13 bytes C++
activemq-cppud.dll!`anonymous namespace'::threadWorker(void *
arg=0x0eccdde8) Line 210 + 0x9 bytes C++
msvcr80d.dll!_callthreadstartex() Line 348 + 0xf bytes C
msvcr80d.dll!_threadstartex(void * ptd=0x0eccdb98) Line 331 C
was (Author: hhuang):
Hi Timothy,
I was able to set up a development environment where we can recreate the
problem. It crashed the following line in function
ActiveMQConnection::onException()
Pointer< Iterator<TransportListener*> > iter(
this->config->transportListeners.iterator() );
Could you please come out a fix for it? Call stack:
msvcr80d.dll!_NMSG_WRITE(int rterrnum=25) Line 198 C
msvcr80d.dll!_purecall() Line 54 + 0x7 bytes C
>
> activemq-cppud.dll!activemq::core::ActiveMQConnection::onException(const
> decaf::lang::Exception & ex={...}) Line 782 + 0x49 bytes C++
activemq-cppud.dll!activemq::transport::TransportFilter::fire(const
decaf::lang::Exception & ex={...}) Line 54 + 0x17 bytes C++
activemq-cppud.dll!activemq::transport::TransportFilter::onException(const
decaf::lang::Exception & ex={...}) Line 47 C++
activemq-cppud.dll!activemq::transport::TransportFilter::fire(const
decaf::lang::Exception & ex={...}) Line 54 + 0x17 bytes C++
activemq-cppud.dll!activemq::transport::TransportFilter::onException(const
decaf::lang::Exception & ex={...}) Line 47 C++
activemq-cppud.dll!activemq::transport::TransportFilter::fire(const
decaf::lang::Exception & ex={...}) Line 54 + 0x17 bytes C++
activemq-cppud.dll!activemq::transport::TransportFilter::onException(const
decaf::lang::Exception & ex={...}) Line 47 C++
activemq-cppud.dll!activemq::transport::inactivity::InactivityMonitor::onException(const
decaf::lang::Exception & ex={...}) Line 314 C++
activemq-cppud.dll!activemq::transport::TransportFilter::fire(const
decaf::lang::Exception & ex={...}) Line 54 + 0x17 bytes C++
activemq-cppud.dll!activemq::transport::TransportFilter::onException(const
decaf::lang::Exception & ex={...}) Line 47 C++
activemq-cppud.dll!activemq::transport::IOTransport::fire(decaf::lang::Exception
& ex={...}) Line 72 + 0x17 bytes C++
activemq-cppud.dll!activemq::transport::IOTransport::run() Line 245
C++
activemq-cppud.dll!decaf::lang::ThreadProperties::runCallback(decaf::lang::ThreadProperties
* properties=0x0eccdde8) Line 137 + 0x13 bytes C++
activemq-cppud.dll!`anonymous namespace'::threadWorker(void *
arg=0x0eccdde8) Line 210 + 0x9 bytes C++
msvcr80d.dll!_callthreadstartex() Line 348 + 0xf bytes C
msvcr80d.dll!_threadstartex(void * ptd=0x0eccdb98) Line 331 C
> Application crashes after stopping message broker
> -------------------------------------------------
>
> Key: AMQCPP-407
> URL: https://issues.apache.org/jira/browse/AMQCPP-407
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: CMS Impl
> Affects Versions: 3.4.1
> 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
> Priority: Blocker
> Fix For: 3.4.1
>
> Attachments: AttemptedFix1.7z
>
>
> Stopping the message broker would crash our application. The following is the
> call stack of the fault thread.
> Thread 0 - System ID 672
> Entry point msvcr80!endthreadex+61
> Create time 5/24/2012 1:53:56 PM
> Time spent in user mode 0 Days 0:0:0.46
> Time spent in kernel mode 0 Days 0:0:0.78
> Function Arg 1 Arg 2 Arg 3 Source
> kernel32!InterlockedDecrement+9 00000000 00000000 00242110
> msvcrt!cexit+f 77c10000 00000000 00000001
> ntdll!LdrInitializeThunk+24 77c1f2a1 77c10000 00000000
> ntdll!RtlDestroyEnvironment+178 00000000 0eec256d 00000001
> kernel32!IsValidLocale+8eb 00000003 77e8f3b0 ffffffff
> kernel32!ExitProcess+14 00000003 0ec21a04 00000003
> msvcr80!amsg_exit+5e 00000003 00000001 00000000
> msvcr80!exit+d 1795efe0 00000000 ffffffff
> user32!MessageBoxIndirectA+23a 00000001 7c91005d 13946b5e
> user32!MessageBoxIndirectA+254 13946b5e 00000000 00e30850
> ntdll!RtlFreeHeap+130 0468001b 00000202 1795f110
> activemq_cppu!activemq::core::ActiveMQConnection::onException+fd 1795fe24
> 7f427d47 1795fe18
> activemq_cppu!activemq::transport::TransportFilter::fire+44 1795fe24
> 7f427d33 1795fe18
> activemq_cppu!activemq::transport::TransportFilter::fire+44 1795fe24
> 7f427cef 1795fe18
> activemq_cppu!activemq::transport::TransportFilter::fire+44 1795fe24
> 1795f60c 0ef4a264
> activemq_cppu!activemq::transport::inactivity::InactivityMonitor::onException+33
> 1795fe24 7f427cd7 1795fe18
> activemq_cppu!activemq::transport::TransportFilter::fire+44 1795fe24
> 7f427c83 1795fe18
> activemq_cppu!activemq::transport::IOTransport::fire+4b 1795fe24
> 0ec48ed7 1795fe18
> activemq_cppu!activemq::transport::IOTransport::run+15e 7f427107
> 7c809c65 12519500
> activemq_cppu!decaf::lang::ThreadProperties::runCallback+82 7c936d80
> 04682060 0ec229bb
> activemq_cppu!`anonymous namespace'::threadWorker+20 04682060
> 0ec229bb 12519500
> ntdll!RtlRemoveVectoredExceptionHandler+2a2 04682060 7c80b729
> 1252f168
> msvcr80!endthreadex+c7 0ec229e1 1252f168 00000000
> KERNEL32!INTERLOCKEDDECREMENT+9WARNING - DebugDiag was not able to locate
> debug symbols for kernel32.dll, so the information below may be incomplete.
> In
> ScotAppU__PID__1168__Date__05_24_2012__Time_02_18_41PM__916__Second_Chance_Exception_C0000005.dmp
> the assembly instruction at kernel32!InterlockedDecrement+9 in
> C:\WINDOWS\system32\kernel32.dll from Microsoft Corporation has caused an
> access violation exception (0xC0000005) when trying to write to memory
> location 0x014718e4 on thread 0
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira