Return-Path: X-Original-To: apmail-activemq-dev-archive@www.apache.org Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4CB38C054 for ; Tue, 5 Jun 2012 20:51:24 +0000 (UTC) Received: (qmail 85033 invoked by uid 500); 5 Jun 2012 20:51:24 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 84751 invoked by uid 500); 5 Jun 2012 20:51:23 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 84687 invoked by uid 99); 5 Jun 2012 20:51:23 -0000 Received: from issues-vm.apache.org (HELO issues-vm) (140.211.11.160) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Jun 2012 20:51:23 +0000 Received: from isssues-vm.apache.org (localhost [127.0.0.1]) by issues-vm (Postfix) with ESMTP id A053F142860 for ; Tue, 5 Jun 2012 20:51:23 +0000 (UTC) Date: Tue, 5 Jun 2012 20:51:23 +0000 (UTC) From: "Helen Huang (JIRA)" To: dev@activemq.apache.org Message-ID: <192370153.41344.1338929483658.JavaMail.jiratomcat@issues-vm> In-Reply-To: <1714147833.94.1337892867819.JavaMail.jiratomcat@issues-vm> Subject: [jira] [Comment Edited] (AMQCPP-407) Application crashes after stopping message broker MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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 > 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 > 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