Created attachment 660206 [details] build.log mock-1.1.28-1.fc18.noarch Grab this srpm: http://crobinso.fedorapeople.org/misc/mockhang/qemu-1.3.0-1.fc19.src.rpm then do: mock --root fedora-rawhide-i386 qemu-1.3.0-1.fc19.src.rpm One of the tests from qemu's 'make check' fails, and build.log ends with this: GTESTER check-qtest-i386 ** ERROR:tests/rtc-test.c:209:set_year_20xx: assertion failed (cmos_read(RTC_HOURS) == 0x02): (25 == 2) GTester: last random seed: R02S1f133be5efd8a9735d569ebc83c09106 make: *** [check-qtest-i386] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.Y78rZl (%check) bogus date in %changelog: Mon Mar 11 2010 Justin M. Forbes <jforbes> - 2:0.12.3-4 bogus date in %changelog: Fri Jan 10 2010 Justin M. Forbes <jforbes> - 2:0.12.1.2-3 bogus date in %changelog: Fri Apr 7 2005 Michael Schwendt <mschwendt[AT]users.sf.net> bogus date in %changelog: Mon May 12 2004 David Woodhouse <dwmw2> 0.6.0-1 bogus date in %changelog: Thu May 2 2004 David Woodhouse <dwmw2> 0.5.4-1 Bad exit status from /var/tmp/rpm-tmp.Y78rZl (%check) RPM build errors: But then mock just hangs. A ctrl-c kills it fine.
Created attachment 660207 [details] root.log
Created attachment 660208 [details] state.log
Created attachment 703230 [details] Exit from logOutput if child dies If a package build process is buggy, it can leave orphaned processes hanging around even after rpmbuild has exited. If these processes hold open file descriptors that mock is watching, then mock will busy wait until the rpmbuild_timeout timeout is hit. I was actually seeing this with qemu's test suite. Make logOutput watch the child process. If the child exits, and there are orphaned processes, kill them. This should wake up the loop. This patch likely isn't acceptable as is, but it works for me. I can also provide a srpm reproducer that takes only 30-60 seconds to reproduce if anyone wants to try it themselves.
Created attachment 816540 [details] slightly modified version of above patch I modified this a bit to just use the loop predicate 'done' so that we exit logOutput immediately after detecting the child process has terminated. Please check to see that I haven't inadvertently missed something here.
Looks good to me, thanks Clark.
mock-1.1.34-1.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/mock-1.1.34-1.fc18
mock-1.1.34-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.34-1.el6
mock-1.1.34-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.1.34-1.fc20
mock-1.1.34-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mock-1.1.34-1.fc19
Package mock-1.1.34-1.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing mock-1.1.34-1.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-20329/mock-1.1.34-1.fc20 then log in and leave karma (feedback).
mock-1.1.35-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mock-1.1.35-1.fc19
mock-1.1.35-1.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/mock-1.1.35-1.fc18
mock-1.1.35-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.35-1.el6
mock-1.1.35-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.1.35-1.fc20
mock-1.1.35-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
mock-1.1.36-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mock-1.1.36-1.fc19
mock-1.1.36-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.1.36-1.fc20
mock-1.1.36-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.36-1.el6
mock-1.1.36-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
mock-1.1.37-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mock-1.1.37-1.fc19
mock-1.1.37-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.1.37-1.fc20
mock-1.1.37-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.37-1.el6
mock-1.1.37-2.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.1.37-2.fc20
mock-1.1.37-2.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mock-1.1.37-2.fc19
mock-1.1.37-2.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.37-2.el6
mock-1.1.38-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mock-1.1.38-1.fc19
mock-1.1.38-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.38-1.el6
mock-1.1.38-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.1.38-1.fc20
mock-1.1.38-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
mock-1.1.38-1.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.
mock-1.1.38-1.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.