Re: [Qemu-devel] 9p broken?

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

 



"Richard W.M. Jones" <rjones@xxxxxxxxxx> writes:

> 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.
>

I am not able to reproduce this, I had to patch configure to fix some
compile errors, but then I am not hitting the crash. I am using the
latest qemu. We do the below in 9p

    error_set(&s->migration_blocker, QERR_VIRTFS_FEATURE_BLOCKS_MIGRATION,
              s->ctx.fs_root ? s->ctx.fs_root : "NULL", s->tag);

I am not sure how we can hit that assert() in error_set() ?. 
We allocate s via 

    s = (V9fsState *)virtio_common_init() which does

    vdev = g_malloc0(struct_size);

-aneesh

--
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