[ https://issues.apache.org/jira/browse/AMQCPP-459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Helen Huang updated AMQCPP-459: ------------------------------- Attachment: CMStress.zip The problem is reproducible with the attached test program CMStress. Usage: cmstress [-b #] [-i #] [-m] [-n name] [-p] [-r] [-s #] [-t #] [-u header] [-v] [-x # ] -a : Do not use thread pools when dispatching incoming messages (default is to use pools) -b # : Number of seconds between heartbeat messages (0 disables) (default is 5) -f # : Minimum number of threads to have available when use thread pools (default is 3) -g # : Maximum number of threads that can be created in each thread pool (default is 100) -i # : Number of milliseconds to wait between message sends (-1 is random delay between 0 and 1000ms) (default is -1) -m : Display memory statistics (default is false) -n s : Specify the name of the topic to use (default is 'topic') -p : Pause for keyboard input (default is false) -r : Display test summary (default is false) -s # : Number of seconds to run test for (0 is until CTRL+C is entered) (default is 3600 - 1hr) -t # : Number of threads to use (default is 25) -u s : Use the specified header name for ID and utilize selectors -v : Display verbose progress where the following symbols have the specified meaning: ( ) = Good send of a message (!) = Error encountered sending a message (¿) = Good sequenced message received (i) = Invalid message received (?) = Received message sequence is off by 10 or more (#) = Number indicating how far off received sequence number is (G) = Good heartbeat sent and received (B) = Failed to send and receive heartbeat (C) = CMS exception received while send/receiving heartbeat (E) = Exception received while send/receiving heartbeat -x # : Seed the random number generator with the specified seed (0 uses time) (default is 0) To reproduce the problem I started CMStressUD.exe (debugUnicode version) from visual studio, and passed it these parameters:" -f 100 -g 100 -i 0 -s 10 -t 30 -v". The batch file to restart my broker was: :TOP net start activemq ping 127.0.0.1 -n 11 > nul net stop activemq ping 127.0.0.1 -n 11 > nul GOTO TOP > Found an access violation in NodePool::ReturNode(Node* node) > ------------------------------------------------------------ > > Key: AMQCPP-459 > URL: https://issues.apache.org/jira/browse/AMQCPP-459 > 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.6.0 > > Attachments: CMStress.zip, > CrashHang_Report__CMStressUD.exe__02142013143459322.mht > > > Caught an access violation in NodePool::ReturNode(Node* node) > The following is the call stack: > activemq-cppud.dll!`anonymous > namespace'::NodePool::returnNode(`anonymous-namespace'::Node * > node=0x05237488) Line 311 + 0x6 bytes > activemq-cppud.dll!decaf::util::concurrent::locks::DefaultConditionObject::unlinkCancelledWaiters() > Line 1450 > activemq-cppud.dll!decaf::util::concurrent::locks::DefaultConditionObject::await() > Line 1145 > CmsMessageHandlerCOMUD.dll!decaf::util::concurrent::LinkedBlockingQueue<decaf::lang::Runnable > *>::take() Line 435 + 0x32 bytes > activemq-cppud.dll!decaf::util::concurrent::ExecutorKernel::getTask() Line > 1288 + 0x24 bytes > activemq-cppud.dll!decaf::util::concurrent::ExecutorKernel::runWorker(decaf::util::concurrent::ExecutorKernel::Worker > * w=0x052359b8) Line 720 + 0xe bytes > activemq-cppud.dll!decaf::util::concurrent::ExecutorKernel::Worker::run() > Line 184 > activemq-cppud.dll!decaf::lang::Thread::run() Line 143 > activemq-cppud.dll!`anonymous namespace'::runCallback(void * arg=0x0523a690) > Line 262 + 0x11 bytes > activemq-cppud.dll!`anonymous namespace'::threadEntryMethod(void * > arg=0x0523a690) Line 250 + 0x15 bytes > msvcr80d.dll!_callthreadstartex() Line 348 + 0xf bytes > msvcr80d.dll!_threadstartex(void * ptd=0x0523ab30) Line 331 > kernel32.dll!7c80b729() > -- 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