[
https://issues.apache.org/jira/browse/AMQCPP-405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13467994#comment-13467994
]
Helen Huang commented on AMQCPP-405:
------------------------------------
Thanks for the new snapshot Timothy. I was not able to recreate the previous
crash, but I ran into an access exception on line "if (successor == NULL ||
successor->waitStatus > 0) " in function
AbstractQueuedSynchronizer::unParkSuccessor(Node* node). successor was
"0xfeeefeee" at the point.
void unparkSuccessor(Node* node) {{
// If status is negative (i.e., possibly needing signal) try to
clear
// in anticipation of signalling. It is OK if this fails or if
status
// is changed by waiting thread.
int ws = node->waitStatus;
if (ws < 0) {
compareAndSetWaitStatus(node, ws, 0);
}
// We need to lock to prevent cancellation of a Node from altering
// the list as we iterate and check Node status fields.
PlatformThread::readerLockMutex(this->rwLock);
// Thread to un-park is held in successor, which is normally just
the
// next node. But if canceled or apparently NULL, traverse
backwards
// from tail to find the actual non-canceled successor.
Node* successor = node->next;
if (successor == NULL || successor->waitStatus > 0) {
successor = NULL;
for (Node* t = tail.get(); t != NULL && t != node; t = t->prev)
if (t->waitStatus <= 0) {
successor = t;
}
}
if (successor != NULL) {
LockSupport::unpark((Thread*)successor->thread);
}
PlatformThread::unlockRWMutex(this->rwLock);
}
> CMS sender thread hangs after restarting broker
> -----------------------------------------------
>
> Key: AMQCPP-405
> URL: https://issues.apache.org/jira/browse/AMQCPP-405
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: CMS Impl
> Affects Versions: 3.4.1
> 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:
> CrashHang_Report__CMSMessageHandlerCOM-TestSender_exe__1001201211243973.mht,
> CrashHang_Report__CMSMessageHandlerCOM-TestSender_exe__1001201220471946.mht,
> CrashHang_Report__PID_2832__05232012143544484.mht
>
>
> The sender thread in CMS hangs after we retarted the message broker.
> The thread is 548 in the attached dump file.
> This is a critical issue that blocks the release of our product that is
> scheduled in a few days. We hope you can resolve it soon. Really appreciate
> your help!
--
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