activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "George payton (JIRA)" <>
Subject [jira] Created: (AMQCPP-135) CLONE -Transacted session crashes or loses messages
Date Thu, 12 Jul 2007 05:11:32 GMT
CLONE -Transacted session crashes or loses messages

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

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

View raw message