Bug 869446 - Failure in ipc receive reply function can consume nearly 100% CPU resources
Summary: Failure in ipc receive reply function can consume nearly 100% CPU resources
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: libqb
Version: 6.4
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: 6.4
Assignee: David Vossel
QA Contact: Cluster QE
Depends On:
TreeView+ depends on / blocked
Reported: 2012-10-23 22:33 UTC by David Vossel
Modified: 2013-02-21 08:38 UTC (History)
3 users (show)

Fixed In Version: libqb-0.14.2-3.el6
Doc Type: Bug Fix
Doc Text:
Cause: Timeout argument give to qb_ipcc_recv() api function is not passed to poll() while waiting for reply. Consequence: Depending on how qb_ipcc_recv() is used, this issue has the potential to consume nearly 100% CPU resources. Pacemaker is affected by this use case. Fix: Pass timeout value to poll in qb_ipcc_recv(). Result: Timeout period is honored as expected and Pacemaker's use of ipc functions correctly.
Clone Of:
Last Closed: 2013-02-21 08:38:04 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:0323 normal SHIPPED_LIVE libqb bug fix and enhancement update 2013-02-20 20:54:45 UTC

Description David Vossel 2012-10-23 22:33:59 UTC
Description of problem:

The ipc api function used to receive a reply (qb_ipcc_recv) does not honor the timeout period it takes in as an argument. Pacemaker depends on this timeout period to be used correctly.  There are situations in Pacemaker where incorrect behavior of qb_ipcc_recv causes Pacemaker to utilize nearly 100% cpu.

Version-Release number of selected component (if applicable):


Additional info:

This issue originated on the upstream pacemaker bug tracker.

A commit upstream to libqb has already been made to fix this.


Comment 4 David Vossel 2012-11-19 21:02:18 UTC
An additional commit made upstream is required to resolve this.


Comment 9 errata-xmlrpc 2013-02-21 08:38:04 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.