assertion failed in exec.c while attempting to start a guest (latest commit)

Bug #1127053 reported by Milos Ivanovic
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Expired
Undecided
Unassigned

Bug Description

Hi team,

I decided to try the latest commit on git (previously used version 1.3.0), and I got failed assertions while attempting to start my guests:

eclipse ~ # qemu-kvm -enable-kvm -hda arch.img -m 4096 -smp sockets=1,cores=4 -vnc :0 -cpu host -vga std -net nic,model=e1000,macaddr=00:00:00:00:00:00 -net tap,ifname=vm0 -qmp tcp:0.0.0.0:4900,server,nowait
qemu-kvm: /var/tmp/portage/app-emulation/qemu-9999/work/qemu-9999/exec.c:982: qemu_ram_set_idstr: Assertion `!new_block->idstr[0]' failed.
Aborted

The assertion seems valid, so whatever's causing it is probably to blame. I haven't dug around much to find out what calls the method (qemu_ram_set_idstr()), but that is probably the best place to start.

The host contains a Xeon E3-1240 CPU, virtualising a bunch of guests one of which is Arch Linux 64-bit, if that helps.

eclipse ~ # qemu-kvm -version
QEMU emulator version 1.4.50, Copyright (c) 2003-2008 Fabrice Bellard

It looks like this assertion happens if you call the executable without any parameters as well:

eclipse ~ # qemu-kvm
qemu-kvm: /var/tmp/portage/app-emulation/qemu-9999/work/qemu-9999/exec.c:982: qemu_ram_set_idstr: Assertion `!new_block->idstr[0]' failed.
Aborted

Thanks.

Revision history for this message
Milos Ivanovic (milos-i) wrote :

For what it's worth, I got the same problem in 1.4 - not sure what's going on there:

eclipse ~ # qemu-kvm --version
QEMU emulator version 1.4.0, Copyright (c) 2003-2008 Fabrice Bellard

eclipse ~ # qemu-kvm
qemu-kvm: /var/tmp/portage/app-emulation/qemu-1.4.0/work/qemu-1.4.0/exec.c:982: qemu_ram_set_idstr: Assertion `!new_block->idstr[0]' failed.
Aborted

Revision history for this message
Milos Ivanovic (milos-i) wrote :

Commenting out the assertion in question (which has been in the source code for the last year) seems to resolve the problem with no noticeable negative impacts, or at least this is what my tests have shown.

Revision history for this message
Milos Ivanovic (milos-i) wrote :
Download full text (4.3 KiB)

I'm surprised nobody has commented on this. It's definitely a bug - at least on my distribution (Gentoo Linux). Here is a gdb backtrace with debugging symbols included:

eclipse ~ # gdb qemu-system-x86_64
GNU gdb (Gentoo 7.5.1 p2) 7.5.1
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/bin/qemu-system-x86_64...done.
(gdb) run
Starting program: /usr/bin/qemu-system-x86_64
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff33db700 (LWP 22865)]
[New Thread 0x7fffea8d8700 (LWP 22866)]
qemu-system-x86_64: /var/tmp/portage/app-emulation/qemu-1.4.0/work/qemu-1.4.0/exec.c:982: qemu_ram_set_idstr: Assertion `!new_block->idstr[0]' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff5a52b15 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff5a52b15 in raise () from /lib64/libc.so.6
#1 0x00007ffff5a53f96 in abort () from /lib64/libc.so.6
#2 0x00007ffff5a4bb3e in ?? () from /lib64/libc.so.6
#3 0x00007ffff5a4bc00 in __assert_fail () from /lib64/libc.so.6
#4 0x0000000000573595 in qemu_ram_set_idstr (addr=<optimized out>, name=0x1357130 "e1000.rom", dev=<optimized out>) at /var/tmp/portage/app-emulation/qemu-1.4.0/work/qemu-1.4.0/exec.c:982
#5 0x00000000004ba6ba in pci_add_option_rom (is_default_rom=<optimized out>, pdev=<optimized out>) at /var/tmp/portage/app-emulation/qemu-1.4.0/work/qemu-1.4.0/hw/pci/pci.c:1872
#6 pci_qdev_init (qdev=0x7fffe9511010) at /var/tmp/portage/app-emulation/qemu-1.4.0/work/qemu-1.4.0/hw/pci/pci.c:1653
#7 0x00000000004ccd14 in device_realize (dev=0x7fffe9511010, err=0x7fffffffda90) at /var/tmp/portage/app-emulation/qemu-1.4.0/work/qemu-1.4.0/hw/qdev.c:175
#8 0x00000000004ce3ff in device_set_realized (obj=0x7fffe9511010, value=true, err=0x7fffffffdb90) at /var/tmp/portage/app-emulation/qemu-1.4.0/work/qemu-1.4.0/hw/qdev.c:673
#9 0x00000000005391e6 in property_set_bool (obj=0x7fffe9511010, v=<optimized out>, opaque=0x131ff80, name=<optimized out>, errp=0x7fffffffdb90) at /var/tmp/portage/app-emulation/qemu-1.4.0/work/qemu-1.4.0/qom/object.c:1222
#10 0x000000000053bc05 in object_property_set_qobject (obj=0x7fffe9511010, value=<optimized out>, name=0x749005 "realized", errp=0x7fffffffdb90) at /var/tmp/portage/app-emulation/qemu-1.4.0/work/qemu-1.4.0/qom/qom-qobject.c:24
#11 0x000000000053aa7e in object_property_set_bool (obj=0x7fffe9511010, value=<optimized out>, name=0x749005 "realized", errp=0x7fffffffdb90) at /var/tmp/portage/app-emulation/qemu-1.4.0/work/qemu-1.4.0/qom/object.c:765
#12 0x00000000004cd498 in qdev_init (dev=0x7fffe9511010) at /var/tmp/portage/app-emulation/qemu-1.4.0/work/qemu-1.4.0/hw/qdev.c:161
#13 0x...

Read more...

Revision history for this message
Thomas Huth (th-huth) wrote :

Triaging old bug tickets... can you still reproduce this issue with the latest version of QEMU? Or could we close this ticket nowadays?

Changed in qemu:
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for QEMU because there has been no activity for 60 days.]

Changed in qemu:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.