Bug 951227

Summary: race in libvirt testsuite could prevent a successful rpm build
Product: Red Hat Enterprise Linux 6 Reporter: Eric Blake <eblake>
Component: libvirtAssignee: Eric Blake <eblake>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 6.4CC: acathrow, cpelland, cwei, dyuan, eblake, jdenemar, mjenner, mzhan
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-0.10.2-19.el6 Doc Type: Bug Fix
Doc Text:
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.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-21 08:58:53 UTC Type: Bug
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: 951235    

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):
libvirt-0.10.2-18.el6_4.3

How reproducible:
< 10%

Steps to Reproduce:
1. rpmbuild --rebuild libvirt-0.10.2-18.el6_4.3.srpm
2.
3.
  
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>
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

steps:
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.

http://rhn.redhat.com/errata/RHBA-2013-1581.html