You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Helen Huang (JIRA)" <ji...@apache.org> on 2012/05/24 22:54:12 UTC

[jira] [Created] (AMQCPP-407) Application crashes after stopping message broker

Helen Huang created AMQCPP-407:
----------------------------------

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


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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288945#comment-13288945 ] 

Helen Huang edited comment on AMQCPP-407 at 6/4/12 10:06 PM:
-------------------------------------------------------------

By the way did you look at this following stack (you probably did, but just in case)

This thread shows a connection can be destroyed by CmsTemplate. Is there any way to prevent IOTransport from calling onException, when a connection is being destroyed?

activemq-cppud.dll!activemq::core::ActiveMQConnection::~ActiveMQConnection() Line 242 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 135 + 0x20 bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsAccessor::destroy() Line 131 C++
activemq-cppud.dll!activemq::cmsutil::CmsDestinationAccessor::destroy() Line 58 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::destroy() Line 211 + 0xb bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::ProducerExecutor::doInCms(cms::Session * session=0x01231668) Line 527 + 0x1a bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::SessionCallback * action=0x0012fb80) Line 446 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::ProducerCallback * action=0x0012fc08) Line 465 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::send(activemq::cmsutil::MessageCreator * messageCreator=0x01210698) Line 546 C++
BrokerMonitor.exe!main(int argc=1, char * * argv=0x00b78fb8) Line 76 + 0x1f bytes C++
BrokerMonitor.exe!__tmainCRTStartup() Line 597 + 0x19 bytes C
BrokerMonitor.exe!mainCRTStartup() Line 414 C

                
      was (Author: hhuang):
    By the way did you look at this following stack (you probably did, but I just want to make sure)

This thread shows a connection can be destroyed by CmsTemplate. Is there any way to prevent IOTransport from calling onException, when a connection is being destroyed?

activemq-cppud.dll!activemq::core::ActiveMQConnection::~ActiveMQConnection() Line 242 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 135 + 0x20 bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsAccessor::destroy() Line 131 C++
activemq-cppud.dll!activemq::cmsutil::CmsDestinationAccessor::destroy() Line 58 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::destroy() Line 211 + 0xb bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::ProducerExecutor::doInCms(cms::Session * session=0x01231668) Line 527 + 0x1a bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::SessionCallback * action=0x0012fb80) Line 446 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::ProducerCallback * action=0x0012fc08) Line 465 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::send(activemq::cmsutil::MessageCreator * messageCreator=0x01210698) Line 546 C++
BrokerMonitor.exe!main(int argc=1, char * * argv=0x00b78fb8) Line 76 + 0x1f bytes C++
BrokerMonitor.exe!__tmainCRTStartup() Line 597 + 0x19 bytes C
BrokerMonitor.exe!mainCRTStartup() Line 414 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13291233#comment-13291233 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

Thanks Timothy! Could you please send me the files that you have changed?
                
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286625#comment-13286625 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

I will take a look at the IOTransport.cpp code and let you know if I can find the place to change as you have suggested. Thanks!
                
> 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
>
>
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286620#comment-13286620 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

The url we use to access the broker is "tcp://%MessageBrokerIP%:%MessageBrokerPort%?connection.sendTimeout=200". Is there any configuration options that we can try in order to get arround?

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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13287468#comment-13287468 ] 

Timothy Bish commented on AMQCPP-407:
-------------------------------------

You can try to modify your IOTransport close to something like this:

{code}
////////////////////////////////////////////////////////////////////////////////
void IOTransport::close() {

	class Finalizer {
	private:

		Pointer<Thread> target;

	public:

		Finalizer(Pointer<Thread> target) : target(target) {}
		~Finalizer() {
			try {
				target->join();
				target.reset(NULL);
			}
			DECAF_CATCHALL_NOTHROW()
		}
	};

    try {

		if (closed) {
			return;
		}

		// Mark this transport as closed.
		closed = true;

		Finalizer finalize(thread);

		// We have to close the input stream before we stop the thread.  this will
		// force us to wake up the thread if it's stuck in a read (which is likely).
		// Otherwise, the join that follows will block forever.
		if (inputStream != NULL) {
			inputStream->close();
			inputStream = NULL;
		}

		// Close the output stream.
		if (outputStream != NULL) {
			outputStream->close();
			outputStream = NULL;
		}

		// Clear the WireFormat so we can't use it anymore
		this->wireFormat.reset(NULL);
	}
    AMQ_CATCH_RETHROW( IOException )
    AMQ_CATCH_EXCEPTION_CONVERT( Exception, IOException )
    AMQ_CATCHALL_THROW( IOException )
}
{code}
                
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286793#comment-13286793 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

Sorry but I overlooked a line in the constructor of ActiveMQConnection.cpp

 configuration->transport = transport;

So this->transport and this->config->transport point to the same object. And the following call should have removed the connection as a listener from the transport as a part of destructor work:
this->config->transport->setTransportListener( NULL );

Now I think the problem is that in the TransportFilter class (or some of its subclasses), the access to the listener is not synchronized. The problem can happen in the following senario:

(1) Thread A is in the process of destroying a ActiveMQConnection, but has not reached TransportFilter::setTransportListener( NULL ) yet
(2) Thread B is in TransportFilter::onException(), which sees that the listener is not null, and calls ActiveMQConnection::OnException()
(3) Thread A continues to destry the ActiveMQConnection
(4) Thread B crashes because the ActiveMQConnection instance is no longer valid.

I think it might help if we could synchronize the access to the listener in TransportFilter (and its subclasses). What do you think? Thanks! 
                
> 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
>
>
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286938#comment-13286938 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

I tried to add a mutex for the listener in TransportFilter and changed 3 files: TransportFilter.cpp, TransportFilter.h and ResponseCorrelator.cpp. Could you please take a look and see if it could solve this issue, and if it could break anything else? 

Also, we will need to lock and unclock this mutex before and after the code that calls TransportFilter::getTransportListner() in other files like ConnectionStateTracker.cpp and FailoverTransport.cpp... These files looks too complicated to handle for me... Will need to rely on your experties :-)

Thanks a lot for your help!

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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13289709#comment-13289709 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288945#comment-13288945 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

By the way did you look at this following stack (you probably did, but I just want to make sure)

This thread shows a connection can be destroyed by CmsTemplate. Is there any way to prevent IOTransport from calling onException, when a connection is being destroyed?

activemq-cppud.dll!activemq::core::ActiveMQConnection::~ActiveMQConnection() Line 242 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 135 + 0x20 bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsAccessor::destroy() Line 131 C++
activemq-cppud.dll!activemq::cmsutil::CmsDestinationAccessor::destroy() Line 58 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::destroy() Line 211 + 0xb bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::ProducerExecutor::doInCms(cms::Session * session=0x01231668) Line 527 + 0x1a bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::SessionCallback * action=0x0012fb80) Line 446 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::ProducerCallback * action=0x0012fc08) Line 465 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::send(activemq::cmsutil::MessageCreator * messageCreator=0x01210698) Line 546 C++
BrokerMonitor.exe!main(int argc=1, char * * argv=0x00b78fb8) Line 76 + 0x1f bytes C++
BrokerMonitor.exe!__tmainCRTStartup() Line 597 + 0x19 bytes C
BrokerMonitor.exe!mainCRTStartup() Line 414 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286679#comment-13286679 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

I think when a connection is destroied, it should remove itself as a listener to the related TransportFilter. I am not sure if this is already been done... Could you please take a look? Thanks!
                
> 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
>
>
> 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

        

[jira] [Updated] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Helen Huang updated AMQCPP-407:
-------------------------------

    Comment: was deleted

(was: Thanks Timothy! Could you please send me the files that you have changed?)
    
> 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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288945#comment-13288945 ] 

Helen Huang edited comment on AMQCPP-407 at 6/4/12 10:08 PM:
-------------------------------------------------------------

By the way did you look at this following stack (you probably did, but just in case)

This thread shows a connection can be destroyed by CmsTemplate. Is there any way to prevent IOTransport/TransportFilter from calling fire(), when a connection is being destroyed?

activemq-cppud.dll!activemq::core::ActiveMQConnection::~ActiveMQConnection() Line 242 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 135 + 0x20 bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsAccessor::destroy() Line 131 C++
activemq-cppud.dll!activemq::cmsutil::CmsDestinationAccessor::destroy() Line 58 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::destroy() Line 211 + 0xb bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::ProducerExecutor::doInCms(cms::Session * session=0x01231668) Line 527 + 0x1a bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::SessionCallback * action=0x0012fb80) Line 446 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::ProducerCallback * action=0x0012fc08) Line 465 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::send(activemq::cmsutil::MessageCreator * messageCreator=0x01210698) Line 546 C++
BrokerMonitor.exe!main(int argc=1, char * * argv=0x00b78fb8) Line 76 + 0x1f bytes C++
BrokerMonitor.exe!__tmainCRTStartup() Line 597 + 0x19 bytes C
BrokerMonitor.exe!mainCRTStartup() Line 414 C

                
      was (Author: hhuang):
    By the way did you look at this following stack (you probably did, but just in case)

This thread shows a connection can be destroyed by CmsTemplate. Is there any way to prevent IOTransport from calling onException, when a connection is being destroyed?

activemq-cppud.dll!activemq::core::ActiveMQConnection::~ActiveMQConnection() Line 242 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 135 + 0x20 bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsAccessor::destroy() Line 131 C++
activemq-cppud.dll!activemq::cmsutil::CmsDestinationAccessor::destroy() Line 58 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::destroy() Line 211 + 0xb bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::ProducerExecutor::doInCms(cms::Session * session=0x01231668) Line 527 + 0x1a bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::SessionCallback * action=0x0012fb80) Line 446 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::ProducerCallback * action=0x0012fc08) Line 465 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::send(activemq::cmsutil::MessageCreator * messageCreator=0x01210698) Line 546 C++
BrokerMonitor.exe!main(int argc=1, char * * argv=0x00b78fb8) Line 76 + 0x1f bytes C++
BrokerMonitor.exe!__tmainCRTStartup() Line 597 + 0x19 bytes C
BrokerMonitor.exe!mainCRTStartup() Line 414 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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286793#comment-13286793 ] 

Helen Huang edited comment on AMQCPP-407 at 5/31/12 6:18 PM:
-------------------------------------------------------------

Sorry but I overlooked a line in the constructor of ActiveMQConnection.cpp

 configuration->transport = transport;

So this->transport and this->config->transport point to the same object. And the following call should have removed the connection as a listener from the transport as a part of destructor work:
this->config->transport->setTransportListener( NULL );

The problem can happen in the following senario:

(1) Thread A is in the process of destroying a ActiveMQConnection, but has not reached TransportFilter::setTransportListener( NULL ) yet
(2) Thread B is in TransportFilter::onException(), which sees that the listener is not null, and calls ActiveMQConnection::OnException()
(3) Thread A continues to destry the ActiveMQConnection
(4) Thread B crashes because the ActiveMQConnection instance is no longer valid.


                
      was (Author: hhuang):
    Sorry but I overlooked a line in the constructor of ActiveMQConnection.cpp

 configuration->transport = transport;

So this->transport and this->config->transport point to the same object. And the following call should have removed the connection as a listener from the transport as a part of destructor work:
this->config->transport->setTransportListener( NULL );

Now I think the problem is that in the TransportFilter class (or some of its subclasses), the access to the listener is not synchronized. The problem can happen in the following senario:

(1) Thread A is in the process of destroying a ActiveMQConnection, but has not reached TransportFilter::setTransportListener( NULL ) yet
(2) Thread B is in TransportFilter::onException(), which sees that the listener is not null, and calls ActiveMQConnection::OnException()
(3) Thread A continues to destry the ActiveMQConnection
(4) Thread B crashes because the ActiveMQConnection instance is no longer valid.

I think it might help if we could synchronize the access to the listener in TransportFilter (and its subclasses). What do you think? Thanks! 
                  
> 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
>
>
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13289807#comment-13289807 ] 

Timothy Bish commented on AMQCPP-407:
-------------------------------------

The stack trace still doesn't reveal anything new, the CMSTemplate code calls connection.close() in the resource manager before destroying the connection object so its still a mystery how the transport can still be active and firing onException events at the time of destruction.  You don't have any other ActiveMQConnectoin objects outside of your CMSTemplate usage do you? 
                
> 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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288939#comment-13288939 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

Thanks for the feedback. That was what I worried about also.
                
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13287716#comment-13287716 ] 

Timothy Bish commented on AMQCPP-407:
-------------------------------------

Debugging the code to determine how the onException event is firing after the ActiveMQConnection has been destroyed would be the next step. 
                
> 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

        

[jira] [Updated] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Helen Huang updated AMQCPP-407:
-------------------------------

    Comment: was deleted

(was: By the way did you look at this following stack (you probably did, but just in case)

This thread shows a connection can be destroyed by CmsTemplate. Is there any way to prevent IOTransport/TransportFilter from calling fire(), when a connection is being destroyed?

activemq-cppud.dll!activemq::core::ActiveMQConnection::~ActiveMQConnection() Line 242 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 135 + 0x20 bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsAccessor::destroy() Line 131 C++
activemq-cppud.dll!activemq::cmsutil::CmsDestinationAccessor::destroy() Line 58 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::destroy() Line 211 + 0xb bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::ProducerExecutor::doInCms(cms::Session * session=0x01231668) Line 527 + 0x1a bytes C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::SessionCallback * action=0x0012fb80) Line 446 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::ProducerCallback * action=0x0012fc08) Line 465 C++
activemq-cppud.dll!activemq::cmsutil::CmsTemplate::send(activemq::cmsutil::MessageCreator * messageCreator=0x01210698) Line 546 C++
BrokerMonitor.exe!main(int argc=1, char * * argv=0x00b78fb8) Line 76 + 0x1f bytes C++
BrokerMonitor.exe!__tmainCRTStartup() Line 597 + 0x19 bytes C
BrokerMonitor.exe!mainCRTStartup() Line 414 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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ 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 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

                  
> 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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286806#comment-13286806 ] 

Helen Huang edited comment on AMQCPP-407 at 5/31/12 6:28 PM:
-------------------------------------------------------------

I think synchronizing the access to listener in TransportFilter (and its subclasses if necessary) might help. You might have some better ideas. What do you think? Thanks!
                
      was (Author: hhuang):
    I think synchronizing the access to listener in TransportFilter might help. You might have some better ideas. What do you think? Thanks!
                  
> 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
>
>
> 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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ 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 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

                
      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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13287723#comment-13287723 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

>From the call stack it appears that it is fired by the inactivity monitor.
                
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286097#comment-13286097 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

I am just wondering if you have any updates on this issue for us. Thanks a lot for your help!
                
> 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
>
>
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13283546#comment-13283546 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

I compared the ActiveMQConnection.cpp files and did not find any difference. 

>From the call stack, it looks like this connection has been deleted by another thread...
                
> 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
>
>
> 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

        

[jira] [Updated] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Helen Huang updated AMQCPP-407:
-------------------------------

    Attachment: AttemptedFix1.7z
    
> 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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13283546#comment-13283546 ] 

Helen Huang edited comment on AMQCPP-407 at 5/25/12 3:45 PM:
-------------------------------------------------------------

I compared the ActiveMQConnection.cpp files and did not find any difference. 

Additional synchronization might be needed.
                
      was (Author: hhuang):
    I compared the ActiveMQConnection.cpp files and did not find any difference. 

>From the call stack, it looks like this connection has been deleted by another thread...
                  
> 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
>
>
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13283424#comment-13283424 ] 

Timothy Bish commented on AMQCPP-407:
-------------------------------------

You can diff yours against the latest 3.4.3 SNAPSHOT src located here to see the most recent changes. http://people.apache.org/~tabish/cms-3.4.x/ 
                
> 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
>
>
> 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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286679#comment-13286679 ] 

Helen Huang edited comment on AMQCPP-407 at 5/31/12 4:03 PM:
-------------------------------------------------------------

I think when a connection is destroied, it should remove itself as a listener to the related TransportFilter. I am not sure if this has already been done... Could you please take a look? Thanks!
                
      was (Author: hhuang):
    I think when a connection is destroied, it should remove itself as a listener to the related TransportFilter. I am not sure if this is already been done... Could you please take a look? Thanks!
                  
> 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
>
>
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286678#comment-13286678 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

Here is the call stack of the other thread that could destroy the connections:

  activemq-cppud.dll!activemq::core::ActiveMQConnection::~ActiveMQConnection()  Line 242 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 135 + 0x20 bytes C++
  activemq-cppud.dll!activemq::cmsutil::CmsAccessor::destroy()  Line 131 C++
  activemq-cppud.dll!activemq::cmsutil::CmsDestinationAccessor::destroy()  Line 58 C++
  activemq-cppud.dll!activemq::cmsutil::CmsTemplate::destroy()  Line 211 + 0xb bytes C++
  activemq-cppud.dll!activemq::cmsutil::CmsTemplate::ProducerExecutor::doInCms(cms::Session * session=0x01231668)  Line 527 + 0x1a bytes C++
  activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::SessionCallback * action=0x0012fb80)  Line 446 C++
  activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::ProducerCallback * action=0x0012fc08)  Line 465 C++
  activemq-cppud.dll!activemq::cmsutil::CmsTemplate::send(activemq::cmsutil::MessageCreator * messageCreator=0x01210698)  Line 546 C++
  BrokerMonitor.exe!main(int argc=1, char * * argv=0x00b78fb8)  Line 76 + 0x1f bytes C++
  BrokerMonitor.exe!__tmainCRTStartup()  Line 597 + 0x19 bytes C
  BrokerMonitor.exe!mainCRTStartup()  Line 414 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
>
>
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13291230#comment-13291230 ] 

Timothy Bish commented on AMQCPP-407:
-------------------------------------

Added some additional refactoring for the shutdown logic that might help to solve this issue. 
                
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286618#comment-13286618 ] 

Timothy Bish commented on AMQCPP-407:
-------------------------------------

You would need to change the actual IOTransport.cpp code. 
                
> 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
>
>
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13287706#comment-13287706 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

We can reproduce the crash after applying the fix in IOTransport. I am wondering what else can we try.

Thanks!

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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288921#comment-13288921 ] 

Timothy Bish commented on AMQCPP-407:
-------------------------------------

>From the call stack given the thread that initiates the onException callback is that of the IOTransport:

{code}
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 
{code}

It happens to pass through the InactivityMonitor but is not initiated there.  I'm not able to reproduce this so I can't really say why its happening.  From code inspection it appears as though it should be waiting for the transport close().
                
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13287726#comment-13287726 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

We also tried the fix I come out yesterday, and we could not reproduce the crash with that. But as you said it might create deadlocks... 

                
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286698#comment-13286698 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

In ActiveMQConnection's constructor, I found this line:

transport->setTransportListener( this );

In ActiveMQConnection's disctructor, it calls close(), then disconnect, where I found this line:

this->config->transport->setTransportListener( NULL );

I am not sure if this->transport and this->config->transport actually points to the same object or not. If not, we probably should call transport->setTransportListener( NULL) from the distructor/close/disconnect function. 


 

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

        

[jira] [Updated] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish updated AMQCPP-407:
--------------------------------

    Fix Version/s:     (was: 3.4.1)
                   3.5.0
                   3.4.4
    
> 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.4, 3.5.0
>
>         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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286110#comment-13286110 ] 

Timothy Bish commented on AMQCPP-407:
-------------------------------------

I have not had time to really look into this, working on Broker issues.  Not sure what your client code does when the broker connection dies, or what else might be going on but it appears that the onException was fired but the connection instance is no longer valid.  This is odd as the Connection should attempt to shutdown the transport via close before it terminates.  You could try setting the IOTransport exception listener instance to NULL at the start of a call to close to try and prevent a exception callback to occur during the close down although it does join the thread so its a bit odd that it'd be calling that out of the lifetime of the connection.  It could also be that the object that is set as the Connection's exception listener is gone and that's where things are going wrong.  
                
> 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
>
>
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13290352#comment-13290352 ] 

Timothy Bish commented on AMQCPP-407:
-------------------------------------

The easiest way to track it down would be to implement some logging in the code path in question to seen what is happening in the connection close() that's not shutting down the transport before the destructor is run from the delete call.  Obviously somewhere along the way the IOTransport close() is not getting called for some reason.
                
> 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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286698#comment-13286698 ] 

Helen Huang edited comment on AMQCPP-407 at 5/31/12 4:17 PM:
-------------------------------------------------------------

In ActiveMQConnection's constructor, I found this line:

transport->setTransportListener( this );

In ActiveMQConnection's disctructor, it calls close(), then disconnect, where I found this line:

this->config->transport->setTransportListener( NULL );

I am not sure if this->transport and this->config->transport actually points to the same object or not. If not, we probably should call transport->setTransportListener( NULL) from the distructor/close/disconnect function. 

What do you think? Thanks!


 

                
      was (Author: hhuang):
    In ActiveMQConnection's constructor, I found this line:

transport->setTransportListener( this );

In ActiveMQConnection's disctructor, it calls close(), then disconnect, where I found this line:

this->config->transport->setTransportListener( NULL );

I am not sure if this->transport and this->config->transport actually points to the same object or not. If not, we probably should call transport->setTransportListener( NULL) from the distructor/close/disconnect function. 


 

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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13290143#comment-13290143 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

We do not have any other ActiveMQConnection objects outside of CMSTemplate.

Do you want me to put break points anywhere to help you? Thanks!


                
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286806#comment-13286806 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

I think synchronizing the access to listener in TransportFilter might help. You might have some better ideas. What do you think? Thanks!
                
> 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
>
>
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13291247#comment-13291247 ] 

Timothy Bish commented on AMQCPP-407:
-------------------------------------

Look under the subsersion commits tab, this will give you the files and let you see the diffs.  Changes are on the 3.4.x branch.
                
> 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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288924#comment-13288924 ] 

Helen Huang edited comment on AMQCPP-407 at 6/4/12 9:42 PM:
------------------------------------------------------------

Do you think turning off InacitvityMonitor would help? Also what would be the impact if we turn it off? 
                
      was (Author: hhuang):
    Do you think turning off InacitvityMonitor would help? Also what is the impact if we turn it off? 
                  
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288908#comment-13288908 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

We have not been able to catch the issue on any development system. We are wondering if you have enough information by looking at the call stacks I have attached before on 5/22 and 5/31. Thanks!
                
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288935#comment-13288935 ] 

Timothy Bish commented on AMQCPP-407:
-------------------------------------

I don't see how it would help in this case.  Turning it off means that your client might not detect when connections to the broker are dropped and hang waiting for new messages to arrive.
                
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13284823#comment-13284823 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

Hi Timothy, I am wondering if you were able to investigate this problem yet. Thanks!
                
> 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
>
>
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13282819#comment-13282819 ] 

Timothy Bish commented on AMQCPP-407:
-------------------------------------

Recommend moving to v3.4.2 as it incorporates some threading fixes.
                
> 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
>
>
> 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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13283417#comment-13283417 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

Hi Timothy, our CMS build does include the threading fixes in ActiveMQConnection.cpp
for https://issues.apache.org/jira/browse/AMQCPP-388. 

Have you made any other changes recently? Thanks!

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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13289764#comment-13289764 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

With the changes in IOTransport, we still found crashes on the lab system, but we have not been able to catch any in our development environment yet. I am not sure the crashes came from the same place. 

Will try some more test tomorrow and let you know if we find anything. Thanks! 
                
> 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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286938#comment-13286938 ] 

Helen Huang edited comment on AMQCPP-407 at 5/31/12 9:09 PM:
-------------------------------------------------------------

I tried to add a mutex for the listener in TransportFilter and changed 3 files: TransportFilter.cpp, TransportFilter.h and ResponseCorrelator.cpp. Could you please take a look and see if it could solve this issue, and if it could break anything else? I have included these files in the attachment:  AttemptedFix1.7z

Also, we will need to lock and unclock this mutex before and after the code that calls TransportFilter::getTransportListner() in other files like ConnectionStateTracker.cpp and FailoverTransport.cpp... These files looks too complicated to handle for me... Will need to rely on your experties :-)

Thanks a lot for your help!

Helen
                
      was (Author: hhuang):
    I tried to add a mutex for the listener in TransportFilter and changed 3 files: TransportFilter.cpp, TransportFilter.h and ResponseCorrelator.cpp. Could you please take a look and see if it could solve this issue, and if it could break anything else? 

Also, we will need to lock and unclock this mutex before and after the code that calls TransportFilter::getTransportListner() in other files like ConnectionStateTracker.cpp and FailoverTransport.cpp... These files looks too complicated to handle for me... Will need to rely on your experties :-)

Thanks a lot for your help!

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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13287723#comment-13287723 ] 

Helen Huang edited comment on AMQCPP-407 at 6/1/12 10:08 PM:
-------------------------------------------------------------

>From the call stack it appears that the event is fired by the inactivity monitor. At that time, the connection has not been destroyed yet.
                
      was (Author: hhuang):
    From the call stack it appears that it is fired by the inactivity monitor.
                  
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13290364#comment-13290364 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

I rebuilt the CMS dll with your fix, and installed it on our lab system again, and did not find any crash today... I guess I might have used the wrong dll to test the other day. I am sorry about that!

I will let the system run for a couple of more days, and if I see the problem again, I will let you know. Much thanks for your help on this issue!
                
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13291325#comment-13291325 ] 

Timothy Bish commented on AMQCPP-407:
-------------------------------------

Let me know if this issue is fixed so it can be closed and a v3.4.4 eventually released.
                
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13287474#comment-13287474 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

Thanks for looking into the fix I came up with yesterday and providing the feedbacks. I will try the IOTransport change you made, and will let you know how it goes.


                
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13287019#comment-13287019 ] 

Timothy Bish commented on AMQCPP-407:
-------------------------------------

The scenario shown above shouldn't happen as the ActiveMQConnection should go through the close() cycle when the destructor is called if it hasn't already been closed.  During the close the Transports have their close method called which eventually reaches IOTransport::close.  The IOTransport will stop its dispatch thread which is the thread that's calling the onException method via the registered ExceptionListsner.  In IOTransport close the dispatch thread is joined which should halt ActiveMQConnection close until such time as the last onException fire is finished.  So the solution here is to determine what is causing this to not happen.

Adding a get / set  synchronization won't likely help here or worse will make the problem even more random and therefore much harder to reproduce and fix.  The issue being that a synchronization is only serializing the get / set operation on exception listener, so if your scenario above is indeed happening there's still nothing stopping the event firing from reading the exception listener before another thread sets it to null.  Locking the entire onExcption callback chain will most likely lead to an unexpected deadlock as the code attempts to deal with errors from the exception thread which will be holding locks that block the other threads accessing the ActiveMQConnection and associated resources.  

Mutex's are often treated as a panacea for threading problems.  

If you can readily reproduce this then I'd advise stepping into the IOException close method or adding some console output in there to see if the close is bypassing the Thread join because of some other exception.  One solution could be to use a finalizer class in there to ensure that the thread is always joined.
                
> 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

        

[jira] [Resolved] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish resolved AMQCPP-407.
---------------------------------

    Resolution: Fixed

No further reports from the user, tagging as fixed.
                
> 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.4, 3.5.0
>
>         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

        

[jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13289764#comment-13289764 ] 

Helen Huang edited comment on AMQCPP-407 at 6/5/12 9:59 PM:
------------------------------------------------------------

With the changes in IOTransport, we still found crashes on the lab system, but we did not catch any in our development environment yet. I am not sure the crashes came from the same place or not. 

We will try some more tests tomorrow and let you know if we find anything. Thanks! 
                
      was (Author: hhuang):
    With the changes in IOTransport, we still found crashes on the lab system, but we have not been able to catch any in our development environment yet. I am not sure the crashes came from the same place. 

Will try some more test tomorrow and let you know if we find anything. Thanks! 
                  
> 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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286612#comment-13286612 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

Hi Timothy,

We are using CMSTemplate to send and receive messages. I am wondering how to set the IOTransport exception listener to be NULL through CMSTemplate. Thanks a lot for your help!

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

        

[jira] [Commented] (AMQCPP-407) Application crashes after stopping message broker

Posted by "Helen Huang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQCPP-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288924#comment-13288924 ] 

Helen Huang commented on AMQCPP-407:
------------------------------------

Do you think turning off InacitvityMonitor would help? Also what is the impact if we turn it off? 
                
> 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