Red Hat Bugzilla – Bug 815272
qemu test suite fails on ARM
Last modified: 2013-01-09 07:01:09 EST
Release 6 has the following changes:
* Mon Feb 13 2012 Daniel P. Berrange <email@example.com> - 2:1.0-6 - Add many more missing BRs for misc QEMU features - Enable running of test suite during build
Ever since it's failed to build on ARM. It looks like there might be some x86 specific tests but as qemu emulates many different architectures it could well be that I'm just looking at that wrong.
+ for i in dummy qemu-i386 qemu-i486 qemu-alpha qemu-arm qemu-armeb qemu-mips qemu-mipsn32 qemu-mips64 qemu-mipsel qemu-mipsn32el qemu-mips64el qemu-m68k qemu-ppc qemu-sparc qemu-s390x qemu-sh4 qemu-sh4eb
+ test qemu-i486 = dummy
+ grep '/qemu-i486:$' /builddir/build/SOURCES/qemu.binfmt
error: Bad exit status from /var/tmp/rpm-tmp.7oNCeN (%install)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.7oNCeN (%install)
Child return code was: 1
qemu-1.0-15.fc17 failed build:
I don't see how that quoted changeset can cause the failure shown in koji, since the code that's failing is completely unrelated. I think the problem is rather caused by this
Author: Paolo Bonzini <firstname.lastname@example.org>
Date: Mon Apr 2 12:21:38 2012 +0200
update qemu.binfmt from upstream
The grep rule is looking for a match at the end of the line, but the i486 is onyl at the start of the line:
$ grep '/qemu-i386:$' qemu.binfmt
$ grep '/qemu-i486:$' qemu.binfmt
$ echo $?
I'm not a qemu expert so you're likely right hence the bug report :)
Is the ARM builder configured differently in some respect? Like it executes install scriptlets with "set -e" and koji.fedoraproject.org does not?
I fixed this in 1.0-17.fc17, but it would be great if you could find a minimal reproducer and a root cause, so I'm not closing the bug yet. (The component should probably be changed though).
No, it should execute everything the same way on all platforms. The only difference should be 1) compiler options and flags that are platform specific 2) any missing packages on ARM (there's not that many). In general the experience in koji should be identical.
Doh, the obvious difference is that qemu-i386 binfmt support is only added on non-x86 architectures.
qemu-1.0-17.fc17 has been submitted as an update for Fedora 17.
Still failing with release 17
Ok, but this is a completely different bug now:
+ make check
Running suite(s): QFloat test-suite
100%: Checks: 2, Failures: 0, Errors: 0
Running suite(s): QJSON test-suite
100%: Checks: 21, Failures: 0, Errors: 0
/basic/lifecycle: make: *** [run-check-test-coroutine] Aborted
error: Bad exit status from /var/tmp/rpm-tmp.tXrFn6 (%check)
There's a chance this test suite is flawed, but my money is on QEMU's coroutine impl being broken on Arm.
I don't have easy access to any Arm hardware, so can you do a manual build of QEMU and then run 'test-coroutine' under GDB and capture a full stack trace
These commits are needed:
coroutine: adding configure option for sigaltstack coroutine backend
coroutine: adding configure choose mechanism for coroutine backend
coroutine: adding sigaltstack method (.c source)
Plus you need to configure with --with-coroutine=sigaltstack (only needed on ARM only, but if build passes we can do it for x86 too, the performance penalty is small).
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing qemu-1.0-17.fc17'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
qemu-1.0-17.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.
This still isn't fixed in that qemu is still fails to build on ARM
It built later on, not sure what changed.