On 12/06/2011 01:28 PM, Kristóf Katus wrote: > Hi there, > > I have a KVM-Autotest related problem. I am trying to install a linux system > with stepmaker, but every time I get "[qemu output] qemu-kvm: > ../hw/ide/pci.h:37: bmdma_active_if: Assertion `bmdma->unit != (uint8_t)-1' > failed.", but at different steps. Host is Fedora 15 with latest updates.
What happens here is a legitimate qemu-kvm bug on the latest Fedora-15. Copying Justin. As of being a KVM autotest problem, no, it's not because qemu should not crash under such circumstances. Manually installing the VM just does not summon all conditions needed to trigger the bug, KVM autotest was just lucky enough to trigger all conditions. Also copying Kevin, as it seems like he already handled similar bugs. Kevin, here during a KVM autotest OS install, qemu prints: [qemu output] qemu-kvm: ../hw/ide/pci.h:37: bmdma_active_if: Assertion `bmdma->unit != (uint8_t)-1' failed. And right after segfaults. I see one comment of yours in one of those bugs: https://bugzilla.redhat.com/show_bug.cgi?id=698537#c5 Kevin Wolf 2011-05-31 08:36:57 EDT It's trying to restart a flush that probably didn't even exist. Might be a guest that writes to the status register, which the IDE emulation abuses for its internal error status. The fix would be to stop this abuse. So maybe the Fedora 15 qemu-kvm does not have the RHEL 6.2 fix? Now Kristóf, as this is a qemu-kvm bug, it is a good idea to verify whether it happens on qemu.git or qemu-kvm.git. Would you please try to run the kvm autotest build test to fetch and build the latest qemu.git and qemu-kvm.git and retry the step file installs. There are 2 possibilities: 1) Problem does not happen under qemu.git and qemu-kvm.git, therefore upstream has a fix for the issue. In this case, we'll figure out which commit upstream introduces the fix and then the F15 version can be fixed. 2) Problem does happen. So the issue has to be fixed both for upstream and the fix backported to the F15 version. Thanks for reporting the problem. Lucas > Here is my configuration in detail and the crash log. > > > --- Host machine > > - CPU model name: Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz > - Installed qemu-kvm package is ver 0.14.0, arch x86_64, rel 8.fc15 > - output of "uname -r": Linux 00schneider 2.6.41.1-1.fc15.x86_64 #1 SMP Fri > Nov 11 21:36:28 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux > - Autotest is a git clone of the master branch as of 2 Dec (commit > d942209251a14b39e6d391df3f4dbbec597a87f9 on 24 Nov) > - qemu command line see in output below > > > --- Guest machine > > - output of "uname -r" on another manually installed vm, same system: Linux > intratest-kristof.net.lan 3.0.9-1.i2n.i686.PAE #1 SMP Mon Nov 14 10:10:03 CET > 2011 i686 i686 i386 GNU/Linux > > > --- Output of "/mnt/local/autotest/client/bin/autotest > /mnt/local/autotest/client/tests/kvm/control" > > 09:09:47 INFO | Writing results to /mnt/local/autotest/client/results/default > 09:11:01 INFO | START ---- ---- timestamp=1323159057 localtime=Dec > 06 09:10:57 > 09:11:03 INFO | Test 1: > raw.virtio_blk.virtio_net.Security.Gateway.5.4.0.install > 09:11:03 INFO | Test 2: > raw.virtio_blk.virtio_net.Security.Gateway.5.4.0.boot > 09:11:03 INFO | Test 3: > raw.virtio_blk.virtio_net.Security.Gateway.5.4.0.shutdown > 09:11:03 INFO | START > kvm.raw.virtio_blk.virtio_net.Security.Gateway.5.4.0.install > kvm.raw.virtio_blk.virtio_net.Security.Gateway.5.4.0.install > timestamp=1323159063 localtime=Dec 06 09:11:03 > 09:11:04 ERROR| ** Message: pygobject_register_sinkfunc is deprecated > (GstObject) > 09:11:16 INFO | Running qemu command: > /usr/bin/qemu-kvm -name 'vm1' -nodefaults -vga std -monitor > unix:'/tmp/monitor-humanmonitor1-20111205-122255-5lrS',server,nowait -serial > unix:'/tmp/serial-20111205-122255-5lrS',server,nowait -drive > file='/mnt/local/kvm_autotest_root/imagesSecurityGateway-5_4_0-32- > autotest.raw',index=0,if=virtio,cache=none -device virtio-net- > pci,netdev=idShi1ZP,mac='9a:08:9b:61:04:5f',id='idH8aPmn' -netdev > tap,id=idShi1ZP,fd=24 -m 1024 -smp 1 -drive > file='/mnt/local/kvm_autotest_root/isos/linux/security_gateway_5_4_0.iso',media=cdrom,index=1 > -vnc :1 > 09:12:09 INFO | [qemu output] qemu-kvm: ../hw/ide/pci.h:37: bmdma_active_if: > Assertion `bmdma->unit != (uint8_t)-1' failed. > 09:12:11 INFO | [qemu output] /bin/sh: line 1: 4663 Aborted > (core dumped) /usr/bin/qemu-kvm -name 'vm1' -nodefaults -vga std -monitor > unix:'/tmp/monitor-humanmonitor1-20111205-122255-5lrS',server,nowait -serial > unix:'/tmp/serial-20111205-122255-5lrS',server,nowait -drive > file='/mnt/local/kvm_autotest_root/imagesSecurityGateway-5_4_0-32- > autotest.raw',index=0,if=virtio,cache=none -device virtio-net- > pci,netdev=idShi1ZP,mac='9a:08:9b:61:04:5f',id='idH8aPmn' -netdev > tap,id=idShi1ZP,fd=24 -m 1024 -smp 1 -drive > file='/mnt/local/kvm_autotest_root/isos/linux/security_gateway_5_4_0.iso',media=cdrom,index=1 > -vnc :1 > 09:12:11 INFO | [qemu output] (Process terminated with status 134) > 09:12:11 ERROR| Traceback (most recent call last): > 09:12:11 ERROR| File > "/mnt/local/autotest/client/tests/kvm/tests/stepmaker.py", line 225, in > event_done_clicked > 09:12:11 ERROR| self.vm.send_key(words[1]) > 09:12:11 ERROR| File "/mnt/local/autotest/client/virt/kvm_vm.py", line 1541, > in send_key > 09:12:11 ERROR| self.monitor.sendkey(keystr) > 09:12:11 ERROR| File "/mnt/local/autotest/client/virt/kvm_monitor.py", line > 433, in sendkey > 09:12:11 ERROR| return self.cmd("sendkey %s %s" % (keystr, hold_time)) > 09:12:11 ERROR| File "/mnt/local/autotest/client/virt/kvm_monitor.py", line > 278, in cmd > 09:12:11 ERROR| s, o = self._read_up_to_qemu_prompt(timeout) > 09:12:11 ERROR| File "/mnt/local/autotest/client/virt/kvm_monitor.py", line > 209, in _read_up_to_qemu_prompt > 09:12:11 ERROR| data = self._recvall() > 09:12:11 ERROR| File "/mnt/local/autotest/client/virt/kvm_monitor.py", line > 141, in _recvall > 09:12:11 ERROR| e) > 09:12:11 ERROR| autotest_lib.client.virt.kvm_monitor.MonitorSocketError: Could > not receive data from monitor ([Errno 104] Connection reset by peer) > 09:12:11 WARNI| Could not send monitor command 'screendump > /mnt/local/autotest/client/results/default/kvm.raw.virtio_blk.virtio_net.Security.Gateway.5.4.0.install/debug/scrdump.ppm' > ([Errno 32] Broken pipe) > 09:12:12 WARNI| Could not send monitor command 'screendump > /mnt/local/autotest/client/results/default/kvm.raw.virtio_blk.virtio_net.Security.Gateway.5.4.0.install/debug/scrdump.ppm' > ([Errno 32] Broken pipe) > [...] > > > --- Relevant part of tests.cfg, let us call it Case(0): > > # Runs qemu-kvm, Security Gateway 5.4.0 32 bit guest OS, install with > stepmaker, boot, shutdown > - @qemu_kvm_single_security_gateway_5_4_0: > qemu_binary = /usr/bin/qemu-kvm > qemu_img_binary = /usr/bin/qemu-img > used_cpus = 1 > used_mem = 1024 > smp = 1 > mem = 1024 > only raw > only virtio_net > only virtio_blk > only up > only no_pci_assignable > only smallpages > only Security.Gateway.5.4.0 > only install, boot, shutdown > > Previously I tried here with other settings as well. In those cases, > used_cpus, used_mem, smp, mem were not overwritten, and the following always > remained constant: > > qemu_binary = /usr/bin/qemu-kvm > qemu_img_binary = /usr/bin/qemu-img > only no_pci_assignable > only smallpages > only Security.Gateway.5.4.0 > only install, boot, shutdown > > Other varying settings I tried resulting in the same assertion failure at some > point: > > Case(1) > only qcow2 > only rtl8139 > only ide > only smp2 > [...] > > Case(2) > only qcow2 > only rtl8139 > only ide > only up > [...] > > Case(3) > only qcow2 > only rtl8139 > only virtio_blk > only smp2 > [...] > > Case(4) > only qcow2 > only rtl8139 > only virtio_blk > only up > [...] > > Case(5) > only raw > only virtio_net > only virtio_blk > only smp2 > [...] > > The assertion failure always occurs at some point, when I would like to send > some keyboard input with stepmaker, except in Case(5), then I get it > immediately. With basic only ide settings, assertion failure usually occurs > after reboot upon the first input. In all the other cases assertion failure > occurs at some other step upon providing input. These are based only on a few > observations, I would not consider them statistically significant. You get the > idea though. > > Note: Installing and booting the same linux system manually with virt-manager > 0.8.7 using kvm, 4 vcpus and virtio works without any quirks. > > Please let me know if you need more info. E.g. the output of my > "autotest/client/common_lib/cartesian_config.py > autotest/client/tests/kvm/tests.cfg -c" and the virsh dumpxml of my manually > installed system could be useful. > > Thanks for your help in advance, > > > Kristóf > > > PS Similar crashes in qemu-kvm, at other locations, might be related somehow: > > --- http://markmail.org/message/wfepi2hdckpc5lke - Subject: qemu-kvm crashes > with Assertion ... failed.: > "iozone ran some test and then kvm simply quit with the following error > message: qemu-system-x86_64: /usr/local/src/qemu- > kvm-2010-03-10/hw/ide/internal.h:510: bmdma_active_if: Assertion `bmdma->unit > != (uint8_t)-1' failed." (14 Mar 2010) > > --- https://bugzilla.redhat.com/show_bug.cgi?id=698537 - Bug 698537 - ide: > core dump when stop/cont guest: > "Actual Results: on qemu-kvm-0.12.1.2-2.160.el6.x86_64 > (qemu) qemu-kvm: /builddir/build/BUILD/qemu- > kvm-0.12.1.2/hw/ide/internal.h:517: bmdma_active_if: Assertion `bmdma->unit != > (uint8_t)-1' failed. > Aborted (core dumped)" (21 April 2011) > _______________________________________________ > Autotest mailing list > [email protected] > http://test.kernel.org/cgi-bin/mailman/listinfo/autotest _______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
