Bug 456991

Summary: C++ client consumes 100% CPU when idle
Product: Red Hat Enterprise MRG Reporter: Ted Ross <tross>
Component: qpid-cppAssignee: Ted Ross <tross>
Status: CLOSED ERRATA QA Contact: Kim van der Riet <kim.vdriet>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 1.0CC: freznice, gsim, jross, matt
Target Milestone: 1.0.1   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-10-06 19:08:56 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:
Bug Depends On:    
Bug Blocks: 459269    

Description Ted Ross 2008-07-29 03:50:42 UTC
The C++ client consumes 100% of the CPU (one core on multi-core systems) even
when idle, waiting for messages on a subscription.

To reproduce, simply run the "listener" program in the C++ "direct" example (you
will need to run "declare-queues" first).  While the program waits for incoming
messages, measure the CPU usage of the "lt-listener" process.

Note that this problem only appears to occur on 32-bit architectures.

Comment 1 Gordon Sim 2008-07-29 12:30:36 UTC
I believe this is a result of the fact that Condition::wait(FAR_FUTURE) returns
immediately with ETIMEDOUT.


Comment 2 Gordon Sim 2008-07-29 13:50:31 UTC
Fixed on qpid.0-10 by r680695 and on trunk by r680691.

Comment 4 Frantisek Reznicek 2008-09-09 16:45:25 UTC
There is now RHTS automated test MRG_Messaging/qpid_cpp_client_load_bz456991 which shows that bug has been fixed. (ON_QA->VERIFIED)

Comment 6 errata-xmlrpc 2008-10-06 19:08:56 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2008-0640.html