Re: [bug 1.1] -M pc-1.0 + vhost = SIGSEGV

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2012-07-01 17:06, Michael Tokarev wrote:
> When running current git version of qemu-kvm with -M pc-1.0

Just to clarify: you are talking about stable-1.1 git, not master.

> and with vhost-net enabled, it crashes with SIGSEGV right when
> linux guest loads a virtio-net module.
> 
> I haven't tried to debug this deeply.  The first result is:
> 
> (gdb) ru -M pc-1.0 -nodefconfig -nodefaults -rtc base=utc -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -netdev tap,ifname=tap-kvm,script=no,id=hostnet0,vhost=on -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:b4:05:b5,bus=pci.0,addr=0x3 -vga cirrus
> Starting program: /build/kvm/debian/build/x86_64-softmmu/qemu-system-x86_64 -M pc-1.0 -nodefconfig -nodefaults -rtc base=utc -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -netdev tap,ifname=tap-kvm,script=no,id=hostnet0,vhost=on -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:b4:05:b5,bus=pci.0,addr=0x3 -vga cirrus
> ...
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0xf65f4b70 (LWP 11245)]
> 0x5668b01a in virtio_pci_mask_vq (vector=vector@entry=1, vq=0x57064448,
>     masked=masked@entry=0,
>     dev=<error reading variable: Unhandled dwarf expression opcode 0xfa>)
>     at /build/kvm/debian/hw/virtio-pci.c:546
> 546	    int r = kvm_set_irqfd(dev->msix_irq_entries[vector].gsi,
> 
> Now, my gdb can't read `dev' variable.  One level up the stack
> this variable is shown correctly:
> 
> #1  0x5668b15d in virtio_pci_mask_notifier (dev=0x57062748, vector=1, masked=0)
>     at /build/kvm/debian/hw/virtio-pci.c:576
> 576	        r = virtio_pci_mask_vq(dev, vector, virtio_get_queue(vdev, n), masked);
> (gdb) p dev->msix_irq_entries[vector].gsi
> Cannot access memory at address 0x10
> (gdb) p dev
> $1 = (PCIDevice *) 0x57062748
> (gdb) p dev->msix_irq_entries
> $4 = (KVMMsiMessage *) 0x0
> 
> So it looks like msix isn't initialized for -M pc-1.0 ?

Yes, because the machine option defaults are missing here. Will send a
patch.

Also vhost is buggy as it depends on in-kernel irqchip but doesn't check
for it. Needs to be fixed as well.

Jan
-- 
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux