Bug 951227 - race in libvirt testsuite could prevent a successful rpm build
Summary: race in libvirt testsuite could prevent a successful rpm build
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: libvirt
Version: 6.4
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Eric Blake
QA Contact: Virtualization Bugs
Keywords: ZStream
Depends On:
Blocks: 951235
TreeView+ depends on / blocked
Reported: 2013-04-11 17:24 UTC by Eric Blake
Modified: 2013-11-21 08:58 UTC (History)
8 users (show)

When running the libvirt test suite on a machine under heavy load, the test could end up in a deadlock. Since the test suite was run during RPM build, the build never finished if the deadlock happened. This update fixes the handling of an event loop used in the test suite, and the test suite no longer hangs in the described scenario.
Clone Of:
Last Closed: 2013-11-21 08:58:53 UTC

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:1581 normal SHIPPED_LIVE libvirt bug fix and enhancement update 2013-11-21 01:11:35 UTC

Description Eric Blake 2013-04-11 17:24:36 UTC
Description of problem:
In my efforts to build a scratch image for testing other BZ in preparation for 6.4.z, I hit a deadlock that prevented the RPM from completing 'make check'.  To date, we've been lucky that brew has not hit this same deadlock, but since we know the fix, and since the fix is non-invasive (it touches _only_ the testsuite, for the 'make check' portion of making the rpm, and does not affect installed binaries), having it backported to 6.4.z would ensure that we don't hit the race in a future brew build.

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

How reproducible:
< 10%

Steps to Reproduce:
1. rpmbuild --rebuild libvirt-0.10.2-18.el6_4.3.srpm
Actual results:
Rarely, the build will hang during 'make check', with output resembling:
PASS: qemumonitortest
TEST: qemumonitorjsontest
I had to ctrl-c to kill the hung test, which in turn killed the build.

Expected results:
Testsuite shouldn't hang.

Additional info:
Fixed upstream:
commit e25a32f3da801207a5009c12747f3d155ac4c43a
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Mon Nov 12 11:34:41 2012 +0100

    tests: Fix qemumonitorjsontest deadlock when the machine is under load
    When doing the qemumonitorjsontest on a machine under heavy load the
    test tends to deadlock from time to time. This patch adds the hack to
    break the event loop that is used in virsh.

Comment 1 Eric Blake 2013-04-11 17:25:59 UTC
Upstream is fixed, so 6.5 is in POST awaiting next rebase.

Comment 4 Huang Wenlong 2013-07-09 07:41:57 UTC
Verify this bug with libvirt-0.10.2-19.el6.x86_64

do rpmbuild --rebuild > 20 times
# rpmbuild --rebuild libvirt-0.10.2-19.el6.src.rpm

all pass 
no hang

Comment 6 errata-xmlrpc 2013-11-21 08:58:53 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.