[ https://issues.apache.org/activemq/browse/AMQCPP-135?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timothy Bish closed AMQCPP-135. ------------------------------- Resolution: Fixed This issue AMQCPP-122 was fixed in the trunk ( unreleased ) code. You can grab the latest trun code and try that, there is also now a 2.1 tag that has code intended for the upcoming 2.1 release which also has these fixes. If you find that the issue is not fixed, please reopen the existing issue. To ask question such as this, please post it on the ActiveMQ users mailing list. > CLONE -Transacted session crashes or loses messages > --------------------------------------------------- > > Key: AMQCPP-135 > URL: https://issues.apache.org/activemq/browse/AMQCPP-135 > Project: ActiveMQ C++ Client > Issue Type: Bug > Affects Versions: 2.1 > Reporter: George payton > Assignee: Timothy Bish > Fix For: 2.1 > > > Attached is some code that does a few things with transacted sessions, in a > loop. This sometimes reproduces the crash I mentioned in one of my latest > comments in AMQCPP-122. > I'm testing on Windows XP SP2 with Visual Studio 8 on Core 2 Duo machine. > I've also seen all of the following happen in subsequent runs of the code: > - Where I expect to receive a message, nothing turns up (even with a long > timeout period). Cleanup goes fine. > - Where I expect to receive a message, nothing turns up. Cleanup hangs. > - Sometimes it prints: > Mutex::unlock - Failed, not Lock Owner! > FILE: ..\src\main\activemq\concurrent\Mutex.cpp, LINE: 83 > FILE: activemq-cpp\src\main\activemq/concurrent/Lock.h, LINE: 110 > FILE: ..\src\main\activemq\core\ActiveMQConsumer.cpp, LINE: 443 > FILE: ..\src\main\activemq\core\ActiveMQSessionExecutor.cpp, LINE: 192 > and keeps on going > - Sometimes it crashes with the following when running a Debug build on > Windows: > --------------------------- > Microsoft Visual C++ Debug Library > --------------------------- > Debug Assertion Failed! > Program: ... > File: C:\Program Files\Microsoft Visual Studio 8\VC\include\list > Line: 776 > Expression: list erase iterator outside range > For information on how your program can cause an assertion > failure, see the Visual C++ documentation on asserts. > (Press Retry to debug the application) > --------------------------- > Abort Retry Ignore > --------------------------- > - Sometimes it crashes with something along these lines: > --------------------------- > vs2005-activemq-example.exe - Application Error > --------------------------- > The instruction at "0x0053dd80" referenced memory at "0xdddddddd". The memory > could not be "read". > Click on OK to terminate the program > Click on CANCEL to debug the program > --------------------------- > OK Cancel > --------------------------- > The relevant thread's stack trace looks like this: > > vs2005-activemq-example.exe!activemq::core::ActiveMQSession::close() > > Line 110 + 0x8 bytes C++ > > vs2005-activemq-example.exe!activemq::core::ActiveMQSession::~ActiveMQSession() > Line 74 + 0x8 bytes C++ > vs2005-activemq-example.exe!activemq::core::ActiveMQSession::`scalar > deleting destructor'() + 0xf bytes C++ > vs2005-activemq-example.exe!test_transaction(const > std::basic_string<char,std::char_traits<char>,std::allocator<char> > & > url="tcp://localhost:61613?wireFormat=stomp") Line 78 + 0x37 bytes C++ > vs2005-activemq-example.exe!main(int argc=1, char * * argv=0x003558c8) > Line 85 + 0x30 bytes C++ > vs2005-activemq-example.exe!__tmainCRTStartup() Line 597 + 0x19 bytes > C > vs2005-activemq-example.exe!mainCRTStartup() Line 414 C > It crashes where it's doing resource->close() because resource points to > garbage. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.