activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Helen Huang (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker
Date Tue, 05 Jun 2012 21:54:23 GMT

    [ 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 9:54 PM:
------------------------------------------------------------

Hi Timothy,

I was able to set up a development environment where we can recreate the problem without using
the change in IOTransport that you recently suggested). It crashed on the following line in
the function ActiveMQConnection::onException():

Pointer< Iterator<TransportListener*> > iter( this->config->transportListeners.iterator()
);

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
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

                  
> 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

        

Mime
View raw message