Subject: Re: bug#43048: QEMU 5 fails its test suite

From: Maxim Cournoyer <[email-masked]>
Date: Sat, 19 Sep 2020 23:30:04 -0400

Hello,

Maxim Cournoyer <[email-masked]> writes:

> Hello,
>
> Found while reconfiguring with Guix at commit fbd36a233420757e11b6abb076647781d4e5652d:
>
> SS 17 hd-geo-test /i386/hd-geo/override/virtio_hot_unplug
> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=i386-softmmu/qemu-system-i386 QTEST_QEMU_IMG=qemu-img tests/qtest/boot-order-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="boot-order-test" 
> PASS 1 boot-order-test /i386/boot-order/pc
> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=i386-softmmu/qemu-system-i386 QTEST_QEMU_IMG=qemu-img tests/qtest/bios-tables-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="bios-tables-test" 
> qemu-system-i386: error: failed to set MSR 0x4b564d02 to 0x0
> qemu-system-i386: /tmp/guix-build-qemu-5.0.0.drv-0/qemu-5.0.0/target/i386/kvm.c:2695: kvm_buf_set_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.
> Broken pipe
> tests/qtest/libqtest.c:175: kill_qemu() detected QEMU death from signal 6 (Aborted)
> ERROR - too few tests run (expected 17, got 0)
> make: *** [/tmp/guix-build-qemu-5.0.0.drv-0/qemu-5.0.0/tests/Makefile.include:636: check-qtest-i386] Error 1
>
> Test suite failed, dumping logs.
> command "make" "check" "V=1" failed with status 2
> builder for `/gnu/store/xkw86xzrqamn9kjihkdwrfiadvmxrxh1-qemu-5.0.0.drv' failed with exit code 1
> build of /gnu/store/xkw86xzrqamn9kjihkdwrfiadvmxrxh1-qemu-5.0.0.drv failed
> View build log at '/var/log/guix/drvs/xk/w86xzrqamn9kjihkdwrfiadvmxrxh1-qemu-5.0.0.drv.bz2'.
> guix system: error: build of
> `/gnu/store/xkw86xzrqamn9kjihkdwrfiadvmxrxh1-qemu-5.0.0.drv' failed

I was able to reproduce this on the master branch of QEMU and could get
a backtrace.  I opened an upstream ticket with QEMU here:
https://bugs.launchpad.net/qemu/+bug/1896263.

In the meantime, this is worked around in our qemu package by disabling
the bios-tables-test test (pushed with commit
afeed71ae447ea18f7bc1b0b331e73e995308251).

Closing,

Maxim