9p broken?
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).
Command line:
qemu-system-x86_64 -m 4G -smp 4 -drive file=/images/Fedora-i386.img,if=virtio,cache=none -cdrom /images/iso/bfo.iso -device virtio-9p-pci,fsdev=root,mount_tag=root -fsdev local,id=root,path=/,security_model=passthrough -enable-kvm -net nic,model=virtio,netdev=net -netdev user,id=net -monitor stdio -cpu host
Signature · 1 line
error compiling committee.c: too many arguments to function
Quoted 16 lines · Avi Kivity
Having an annoying bug on i386 kvm I decided to debug it buy running an i386 guest on my
x86_64host, 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
#0error_set(errp=0x7fffe95fb128, fmt=0x5555558d4568 "{ 'class':
'VirtFSFeatureBlocksMigration', 'data': { 'path': %s, 'tag': %s } }") at/home/tlv/akivity/qemu/error.c:32
#10x000055555567cb06inv9fs_attach(opaque=0x7fffe95e3020) at/home/tlv/akivity/qemu/hw/9pfs/virtio-9p.c:988
#20x000055555561d19fincoroutine_trampoline(i0=1449767888, i1=21845) at/home/tlv/akivity/qemu/coroutine-ucontext.c:138
Quoted 7 lines
#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.
Signature · 4 lines
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/
Quoted 61 lines · Richard W.M. Jones
Quoted 16 lines · Avi Kivity
Having an annoying bug on i386 kvm I decided to debug it buy running an i386 guest on my
x86_64host, 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
#0error_set(errp=0x7fffe95fb128, fmt=0x5555558d4568 "{ 'class':
'VirtFSFeatureBlocksMigration', 'data': { 'path': %s, 'tag': %s } }") at/home/tlv/akivity/qemu/error.c:32
#10x000055555567cb06inv9fs_attach(opaque=0x7fffe95e3020) at/home/tlv/akivity/qemu/hw/9pfs/virtio-9p.c:988
#20x000055555561d19fincoroutine_trampoline(i0=1449767888, i1=21845) at/home/tlv/akivity/qemu/coroutine-ucontext.c:138Quoted 7 lines
#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/unused100M : \
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
0x00007fb1d4d19ba5in__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 ?? ()
Quoted 5 lines
#10
0x0000000000000000in ?? ()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
Quoted 7 lines · Avi Kivity
Having an annoying bug on i386 kvm I decided to debug it buy running an i386 guest on my
x86_64host, 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
I missed that you have already sent a patch for configure fix. That looks better that what i sent. I will ack that patch
Quoted 9 lines
(gdb) bt
#0error_set(errp=0x7fffe95fb128, fmt=0x5555558d4568 "{ 'class':
'VirtFSFeatureBlocksMigration', 'data': { 'path': %s, 'tag': %s } }") at/home/tlv/akivity/qemu/error.c:32
#10x000055555567cb06inv9fs_attach(opaque=0x7fffe95e3020) at/home/tlv/akivity/qemu/hw/9pfs/virtio-9p.c:988
#20x000055555561d19fincoroutine_trampoline(i0=1449767888, i1=21845) at/home/tlv/akivity/qemu/coroutine-ucontext.c:138
Quoted 8 lines
#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).
Why are we calling attach a second time ?. I am also not able to reproduce this
root@qemu-img-64:~# mount -t 9p -otrans=virtio,version=9p2000.L v_tmp /mnt root@qemu-img-64:~# ls /mnt/a.c /mnt/a.c
Quoted 8 lines
Command line:
qemu-system-x86_64 -m 4G -smp 4 -drive file=/images/Fedora-i386.img,if=virtio,cache=none -cdrom /images/iso/bfo.iso -device virtio-9p-pci,fsdev=root,mount_tag=root -fsdev local,id=root,path=/,security_model=passthrough -enable-kvm -net nic,model=virtio,netdev=net -netdev user,id=net -monitor stdio -cpu host
-aneesh
Quoted 31 lines · Aneesh Kumar K.V
Quoted 7 lines · Avi Kivity
Having an annoying bug on i386 kvm I decided to debug it buy running an i386 guest on my
x86_64host, 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
I missed that you have already sent a patch for configure fix. That looks better that what i sent. I will ack that patch
Quoted 9 lines
(gdb) bt
#0error_set(errp=0x7fffe95fb128, fmt=0x5555558d4568 "{ 'class':
'VirtFSFeatureBlocksMigration', 'data': { 'path': %s, 'tag': %s } }") at/home/tlv/akivity/qemu/error.c:32
#10x000055555567cb06inv9fs_attach(opaque=0x7fffe95e3020) at/home/tlv/akivity/qemu/hw/9pfs/virtio-9p.c:988
#20x000055555561d19fincoroutine_trampoline(i0=1449767888, i1=21845) at/home/tlv/akivity/qemu/coroutine-ucontext.c:138Quoted 8 lines
#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).
Quoted 6 lines
Why are we calling attach a second time ?. I am also not able to reproduce this
root@qemu-img-64:~# mount -t 9p -otrans=virtio,version=9p2000.L v_tmp /mnt root@qemu-img-64:~# ls /mnt/a.c /mnt/a.c
I'm just doing ls /mnt (even tab completion: ls /mn<TAB> crashes qemu).
Signature · 1 line
error compiling committee.c: too many arguments to function
Quoted 32 lines · Avi Kivity
Quoted 31 lines · Aneesh Kumar K.V
Quoted 7 lines · Avi Kivity
Having an annoying bug on i386 kvm I decided to debug it buy running an i386 guest on my
x86_64host, 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
I missed that you have already sent a patch for configure fix. That looks better that what i sent. I will ack that patch
Quoted 17 lines
(gdb) bt
#0error_set(errp=0x7fffe95fb128, fmt=0x5555558d4568 "{ 'class':
'VirtFSFeatureBlocksMigration', 'data': { 'path': %s, 'tag': %s } }") at/home/tlv/akivity/qemu/error.c:32
#10x000055555567cb06inv9fs_attach(opaque=0x7fffe95e3020) at/home/tlv/akivity/qemu/hw/9pfs/virtio-9p.c:988
#20x000055555561d19fincoroutine_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).
Quoted 9 lines
Quoted 6 lines
Why are we calling attach a second time ?. I am also not able to reproduce this
root@qemu-img-64:~# mount -t 9p -otrans=virtio,version=9p2000.L v_tmp /mnt root@qemu-img-64:~# ls /mnt/a.c /mnt/a.cI'm just doing ls /mnt (even tab completion: ls /mn<TAB> crashes qemu).
Did this help ?
http://mid.gmane.org/1343719453-26768-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com
-aneesh
Quoted 5 lines · Aneesh Kumar K.V
Did this help ?
http://mid.gmane.org/1343719453-26768-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com
It did: thanks.
Signature · 1 line
error compiling committee.c: too many arguments to function
Quoted 16 lines · Avi Kivity
Having an annoying bug on i386 kvm I decided to debug it buy running an i386 guest on my
x86_64host, 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
#0error_set(errp=0x7fffe95fb128, fmt=0x5555558d4568 "{ 'class':
'VirtFSFeatureBlocksMigration', 'data': { 'path': %s, 'tag': %s } }") at/home/tlv/akivity/qemu/error.c:32
#10x000055555567cb06inv9fs_attach(opaque=0x7fffe95e3020) at/home/tlv/akivity/qemu/hw/9pfs/virtio-9p.c:988
#20x000055555561d19fincoroutine_trampoline(i0=1449767888, i1=21845) at/home/tlv/akivity/qemu/coroutine-ucontext.c:138
Quoted 8 lines
#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).
Ok we mount with fid uid = (unsigned)~0. So we need to attach again when we do ls as root. I guess we can do that migration block in attach, or we have to do it conditionally. We also can hit the same if we do a path lookup as a different user.
-aneesh