Re: [Qemu-devel] 9p broken?

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

 



On Mon, Jul 30, 2012 at 03:35:39PM +0300, Avi Kivity wrote:
> Having an annoying bug on i386 kvm I decided to debug it buy running an
> i386 guest on my x86_64 host, use 9p to access a guest image, and run it
> using nested kvm.
> 
> However, 9p appears to be broken: first, the configure test fails (patch
> sent).  Second, while mount works, ls on the mount point causes qemu to
> crash with
> 
> (gdb) bt
> #0  error_set (errp=0x7fffe95fb128, fmt=0x5555558d4568 "{ 'class':
> 'VirtFSFeatureBlocksMigration', 'data': { 'path': %s, 'tag': %s } }") at
> /home/tlv/akivity/qemu/error.c:32
> #1  0x000055555567cb06 in v9fs_attach (opaque=0x7fffe95e3020) at
> /home/tlv/akivity/qemu/hw/9pfs/virtio-9p.c:988
> #2  0x000055555561d19f in coroutine_trampoline (i0=1449767888, i1=21845)
> at /home/tlv/akivity/qemu/coroutine-ucontext.c:138
> #3  0x00007ffff5a93ef0 in ?? ()	from /lib64/libc.so.6
> #4  0x00007fffffffce00 in ?? ()
> #5  0x0000000000000000 in ?? (
> 
> **errp already points to a VirtFSFeatureBlocksMigration error;
> v9fs_attach() has been called a second time (the first time,
> understandably, on mount; the second on ls).

Yes, I can reproduce this too.

LIBGUESTFS_QEMU=~/d/qemu/qemu.wrapper \
guestfish -v -- \
  sparse /tmp/unused 100M : \
  config -device 'virtio-9p-pci,fsdev=root,mount_tag=root' : \
  config -fsdev 'local,id=root,path=/tmp,security_model=passthrough' : \
  run : \
  mount-9p root / : \
  ls /

Stack trace:

#0  0x00007fb1d4d19ba5 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:63
#1  0x00007fb1d4d1b358 in __GI_abort () at abort.c:90
#2  0x00007fb1d4d12972 in __assert_fail_base (fmt=
    0x7fb1d4e5c8e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=assertion@entry=0x7fb1d8e2e87e "*errp == ((void *)0)", 
    file=file@entry=0x7fb1d8e56217 "error.c", line=line@entry=35, 
    function=function@entry=
    0x7fb1d8e2e8ca <__PRETTY_FUNCTION__.13983> "error_set") at assert.c:92
#3  0x00007fb1d4d12a22 in __GI___assert_fail (assertion=assertion@entry=
    0x7fb1d8e2e87e "*errp == ((void *)0)", file=file@entry=
    0x7fb1d8e56217 "error.c", line=line@entry=35, function=function@entry=
    0x7fb1d8e2e8ca <__PRETTY_FUNCTION__.13983> "error_set") at assert.c:101
#4  0x00007fb1d8c1147f in error_set (errp=errp@entry=0x7fb1ce36a128, 
    fmt=fmt@entry=
    0x7fb1d8e39a78 "{ 'class': 'VirtFSFeatureBlocksMigration', 'data': { 'path': %s, 'tag': %s } }") at error.c:35
#5  0x00007fb1d8c57f9b in v9fs_attach (opaque=0x7fb1ce352020)
    at /home/rjones/d/qemu/hw/9pfs/virtio-9p.c:988
#6  0x00007fb1d8c0fcfa in coroutine_trampoline (i0=<optimized out>, 
    i1=<optimized out>) at coroutine-ucontext.c:138
#7  0x00007fb1d4d2a2f0 in ?? () from /lib64/libc.so.6
#8  0x00007fff51061aa0 in ?? ()
#9  0xb5b5b5b5b5b5b5b5 in ?? ()
#10 0x0000000000000000 in ?? ()

I'll add a regression test for 9p to libguestfs so at least we will
catch this in future during Fedora builds.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://et.redhat.com/~rjones/virt-df/
--
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