[ 
https://issues.apache.org/jira/browse/AMQCPP-454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13572821#comment-13572821
 ] 

Timothy Bish edited comment on AMQCPP-454 at 2/6/13 9:06 PM:
-------------------------------------------------------------

The transport layer needs some work, but as far as the v3.5.0 codebase goes its 
pretty much got to stay the way it is so that ABI remains intact.  The code 
will need to be modified in 3.6 to improve the way the transports are 
constructed and subsequently started. 

And no, its not true that the properties are able to be under construction at 
the same time the pointer is non-null.  The assignment in the constructor of 
InactivityMonitor will happen only after the constructor of the internal member 
data pimpl complete so it will either be there or it won't.  
                
      was (Author: tabish121):
    The transport layer needs some work, but as far as the v3.5.0 codebase goes 
its pretty much got to stay the way it is so that ABI remains intact.  The code 
will need to be modified in 3.6 to improve the way the transports are 
constructed and subsequently started. 
                  
> Found pure function call error in CMS
> -------------------------------------
>
>                 Key: AMQCPP-454
>                 URL: https://issues.apache.org/jira/browse/AMQCPP-454
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>          Components: CMS Impl
>    Affects Versions: 3.5.0
>         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: Critical
>             Fix For: 3.5.0
>
>         Attachments: cmstemplate-stress.zip, 
> CrashHang_Report__CMSMessageHandler-MultiTest_exe__02052013182239896.mht
>
>
> WeEncountered a pure function call error in CMS during our test. The 
> following is the call stack:
>       msvcr80d.dll!_NMSG_WRITE(int rterrnum=0x00000019)  Line 198     C
>       msvcr80d.dll!_purecall()  Line 54 + 0x7 bytes   C
>       activemq-cppud.dll!decaf::util::concurrent::Lock::lock()  Line 55       
> C++
>       
> activemq-cppud.dll!decaf::util::concurrent::Lock::Lock(decaf::util::concurrent::Synchronizable
>  * object=0x0cb6de90, const bool intiallyLocked=true)  Line 34    C++
>       
> activemq-cppud.dll!activemq::transport::inactivity::InactivityMonitor::stopMonitorThreads()
>   Line 469 + 0x20 bytes      C++
>       
> activemq-cppud.dll!activemq::transport::inactivity::InactivityMonitor::onException(const
>  decaf::lang::Exception & ex={...})  Line 310   C++
>       activemq-cppud.dll!activemq::transport::TransportFilter::fire(const 
> decaf::lang::Exception & ex={...})  Line 53 + 0x17 bytes    C++
>       
> activemq-cppud.dll!activemq::transport::TransportFilter::onException(const 
> decaf::lang::Exception & ex={...})  Line 46  C++
>       
> activemq-cppud.dll!activemq::transport::IOTransport::fire(decaf::lang::Exception
>  & ex={...})  Line 64 + 0x17 bytes      C++
>       activemq-cppud.dll!activemq::transport::IOTransport::run()  Line 259    
> C++
>       activemq-cppud.dll!decaf::lang::Thread::run()  Line 143 C++
>       activemq-cppud.dll!`anonymous namespace'::runCallback(void * 
> arg=0x0c85e460)  Line 262 + 0x11 bytes     C++
>       activemq-cppud.dll!`anonymous namespace'::threadEntryMethod(void * 
> arg=0x0c85e460)  Line 250 + 0x15 bytes       C++
>       msvcr80d.dll!_callthreadstartex()  Line 348 + 0xf bytes C
>       msvcr80d.dll!_threadstartex(void * ptd=0x1898e470)  Line 331    C
>       kernel32.dll!7c80b729()         
>       [Frames below may be incorrect and/or missing, no symbols loaded for 
> kernel32.dll]      
> We have 25 senders and receivers in our test, and we restart the broker every 
> 10 seconds.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to