[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] 9p broken?
From: |
Aneesh Kumar K.V |
Subject: |
Re: [Qemu-devel] 9p broken? |
Date: |
Tue, 31 Jul 2012 12:06:15 +0530 |
User-agent: |
Notmuch/0.13.2+63~g548a9bf (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) |
"Richard W.M. Jones" <address@hidden> 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 (address@hidden)
> 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",
> address@hidden "*errp == ((void *)0)",
> address@hidden "error.c", address@hidden,
> address@hidden
> 0x7fb1d8e2e8ca <__PRETTY_FUNCTION__.13983> "error_set") at assert.c:92
> #3 0x00007fb1d4d12a22 in __GI___assert_fail (address@hidden
> 0x7fb1d8e2e87e "*errp == ((void *)0)", address@hidden
> 0x7fb1d8e56217 "error.c", address@hidden, address@hidden
> 0x7fb1d8e2e8ca <__PRETTY_FUNCTION__.13983> "error_set") at assert.c:101
> #4 0x00007fb1d8c1147f in error_set (address@hidden,
> address@hidden
> 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