[
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