Bug 462653

Summary: qpid-bench (and/or qpid-java client?) deadlocks on exceptions
Product: Red Hat Enterprise MRG Reporter: David Sommerseth <davids>
Component: qpid-javaAssignee: Rafael H. Schloming <rafaels>
Status: CLOSED UPSTREAM QA Contact: Kim van der Riet <kim.vdriet>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.0CC: cctrieloff, ovasik, tross
Target Milestone: 1.3   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-11-10 14:09:53 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description David Sommerseth 2008-09-17 20:15:41 UTC
During running tests with qpid-bench, I experienced that qpid-bench deadlocked.  I was using the MRG/M-1.0.1 packages, and latest qpid-bench from SVN trunk/qpid/java (r694671)

I ran this test against a broker being run via valgrind:

        qpid-bench -c 100000 -w 0 -s 4096 --sample 10000 

And after a little while I received this exception:

---------------------------------------------------------------------------------
Exception in thread "Thread-2" java.lang.RuntimeException: org.apache.qpid.transport.SessionException: [ch=0 id=0 ExecutionException(errorCode=RESOURCE_LIMIT_EXCEEDED, commandId=28535, classCode=0, commandCode=0, fieldIndex=0, description=resource-limit-exceeded: Policy exceeded for test-queue size: max=104857600, current=104861696; count unlimited, current=0 (qpid/broker/Queue.cpp:418), errorInfo={})]
        at org.apache.qpid.tools.QpidBench$2.run(QpidBench.java:460)
Caused by: org.apache.qpid.transport.SessionException: [ch=0 id=0 ExecutionException(errorCode=RESOURCE_LIMIT_EXCEEDED, commandId=28535, classCode=0, commandCode=0, fieldIndex=0, description=resource-limit-exceeded: Policy exceeded for test-queue size: max=104857600, current=104861696; count unlimited, current=0 (qpid/broker/Queue.cpp:418), errorInfo={})]
        at org.apache.qpid.transport.Session.invoke(Session.java:276)
        at org.apache.qpid.transport.Invoker.messageTransfer(Invoker.java:127)
        at org.apache.qpid.tools.QpidBench.native_publisher(QpidBench.java:789)
        at org.apache.qpid.tools.QpidBench.access$500(QpidBench.java:45)
        at org.apache.qpid.tools.QpidBench$2.run(QpidBench.java:455)
---------------------------------------------------------------------------------

The program never seems to stop, and running strace on the qpid-bench process showed no activity ... waiting for a futex(0x...., FUTEX_WAIT, 23, NULL

Broker (C++) behaves as expected, and other clients can connect and run as normal.

Comment 1 Rafael H. Schloming 2008-10-27 20:52:07 UTC
This should be fixed on 1.1