On Fri, Jul 11, 2014 at 11:01 PM, Andrey Korolyov <and...@xdel.ru> wrote:
> Hello,
>
> is it worthy to re-test dp until next tag point? I am checking aio
> with -rc1 and following picked commits (sorry for patchwork
> references):
>
> stefanha:
> 368191 New          [v3,1/4] virtio-blk: avoid dataplane
> VirtIOBlockReq early free
> 368787 New          [v3,2/4] dataplane: do not free VirtQueueElement
> in vring_push()
> 368360 New          [v3,3/4] virtio-blk: avoid g_slice_new0() for
> VirtIOBlockReq and VirtQueueElement
> 368863 New          [v3,4/4] virtio-blk: embed VirtQueueElement in
> VirtIOBlockReq
>
> pbonzini:
> 367551 New          [1/4] block: prefer aio_poll to qemu_aio_wait
> 367553 New          [2/4] block: drop aio functions that operate on
> the main AioContext
> 367552 New          [3/4] test-aio: fix GSource-based timer test
> 367554 New          [4/4] AioContext: speed up aio_notify
>
> Emulator itself stop responding in approximately ninety percent of
> cases, e.g. it does not react to anything except SIGKILL. Windows VM
> is able to read some bits before lockup happens because it draws an
> initial logo.
>
> hangs on vl.c:
> (gdb) list
> 2890        g_free(dummy);
> 2891        if (err) {
> 2892            qerror_report_err(err);
> 2893            return -1;
> 2894        }
> 2895        return 0;
> 2896    }
> 2897
> 2898    int main(int argc, char **argv, char **envp)
> 2899    {
> (gdb) next
> Single stepping until exit from function __lll_lock_wait,
> which has no line number information.
>
> cmdline follows:
> if=none,id=drive-virtio-disk0,format=raw,cache=writeback,aio=native
> ... -object iothread,id=blk0 -set device.virtio-disk0.config-wce=off
> -set device.virtio-disk0.scsi=off -set
> device.virtio-disk0.iothread=blk0

Forgot to attach backtrace, though the issue and bt itself can be
easily reproduced.
Thread 4 (Thread 0x7ff1239ff700 (LWP 11532)):
#0  0x00007ff12d4f8116 in ppoll () from /lib64/libc.so.6
#1  0x00007ff133aa543b in ppoll (__ss=0x0, __timeout=0x0, __nfds=<optimized 
out>, __fds=<optimized out>) at /usr/include/bits/poll2.h:77
#2  qemu_poll_ns (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized 
out>) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/qemu-timer.c:314
#3  0x00007ff133aa6750 in aio_poll (ctx=0x7ff13447d6e0, 
blocking=blocking@entry=true) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/aio-posix.c:250
#4  0x00007ff133919b17 in iothread_run (opaque=0x7ff13447d340) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/iothread.c:41
#5  0x00007ff12fffcf3a in start_thread () from /lib64/libpthread.so.0
#6  0x00007ff12d501c3d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7ff1229c4700 (LWP 11534)):
#0  0x00007ff130000d0c in pthread_cond_wait () from /lib64/libpthread.so.0
#1  0x00007ff133af3619 in qemu_cond_wait (cond=cond@entry=0x7ff13447d770, 
mutex=mutex@entry=0x7ff13447d740) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/util/qemu-thread-posix.c:135
#2  0x00007ff133b046aa in rfifolock_lock (r=0x7ff13447d740) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/util/rfifolock.c:59
#3  0x00007ff133a953e1 in aio_context_acquire (ctx=<optimized out>) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/async.c:312
#4  0x00007ff133865764 in virtio_blk_set_status (vdev=0x7ff134687938, 
status=<optimized out>) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/hw/block/virtio-blk.c:609
#5  0x00007ff133888627 in virtio_set_status (vdev=vdev@entry=0x7ff134687938, 
val=val@entry=5 '\005') at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/hw/virtio/virtio.c:550
#6  0x00007ff133a4cad0 in virtio_ioport_write (val=5, addr=<optimized out>, 
opaque=0x7ff134686f60) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/hw/virtio/virtio-pci.c:306
#7  virtio_pci_config_write (opaque=0x7ff134686f60, addr=<optimized out>, 
val=5, size=<optimized out>) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/hw/virtio/virtio-pci.c:430
#8  0x00007ff133856879 in access_with_adjusted_size (addr=addr@entry=18, 
value=value@entry=0x7ff1229c3bb0, size=size@entry=1, access_size_min=<optimized 
out>, access_size_max=<optimized out>,
    access=0x7ff133856f70 <memory_region_write_accessor>, mr=0x7ff1346877a8) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/memory.c:481
#9  0x00007ff13385c5bf in memory_region_dispatch_write (size=1, data=5, 
addr=18, mr=0x7ff1346877a8) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/memory.c:1143
#10 io_mem_write (mr=mr@entry=0x7ff1346877a8, addr=18, val=<optimized out>, 
size=1) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/memory.c:1976
#11 0x00007ff13381bfc3 in address_space_rw (as=0x7ff133f3e120 
<address_space_io>, addr=<optimized out>, addr@entry=49170, buf=<optimized 
out>, len=len@entry=1, is_write=is_write@entry=true)
    at /var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/exec.c:2054
#12 0x00007ff13385593f in kvm_handle_io (count=1, size=1, direction=<optimized 
out>, data=<optimized out>, port=49170) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/kvm-all.c:1597
#13 kvm_cpu_exec (cpu=cpu@entry=0x7ff13449d8d0) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/kvm-all.c:1734
#14 0x00007ff133840e2c in qemu_kvm_cpu_thread_fn (arg=0x7ff13449d8d0) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/cpus.c:874
#15 0x00007ff12fffcf3a in start_thread () from /lib64/libpthread.so.0
#16 0x00007ff12d501c3d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7ff1209ff700 (LWP 11537)):
#0  0x00007ff130000d0c in pthread_cond_wait () from /lib64/libpthread.so.0
#1  0x00007ff133af3619 in qemu_cond_wait (cond=cond@entry=0x7ff1344ec690, 
mutex=mutex@entry=0x7ff1344ec6c0) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/util/qemu-thread-posix.c:135
#2  0x00007ff133a902ab in vnc_worker_thread_loop 
(queue=queue@entry=0x7ff1344ec690) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/ui/vnc-jobs.c:222
#3  0x00007ff133a90680 in vnc_worker_thread (arg=0x7ff1344ec690) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/ui/vnc-jobs.c:323
#4  0x00007ff12fffcf3a in start_thread () from /lib64/libpthread.so.0
#5  0x00007ff12d501c3d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7ff1336fa980 (LWP 11515)):
#0  0x00007ff1300037a4 in __lll_lock_wait () from /lib64/libpthread.so.0
#1  0x00007ff12ffff19c in _L_lock_518 () from /lib64/libpthread.so.0
#2  0x00007ff12fffefeb in pthread_mutex_lock () from /lib64/libpthread.so.0
#3  0x00007ff133af33f9 in qemu_mutex_lock (mutex=mutex@entry=0x7ff133f9a3c0 
<qemu_global_mutex>) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/util/qemu-thread-posix.c:76
#4  0x00007ff133842120 in qemu_mutex_lock_iothread () at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/cpus.c:1044
#5  0x00007ff133aa48db in os_host_main_loop_wait (timeout=15438744) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/main-loop.c:232
#6  main_loop_wait (nonblocking=<optimized out>) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/main-loop.c:484
#7  0x00007ff133811cd5 in main_loop () at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/vl.c:2010
#8  main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at 
/var/tmp/portage/app-emulation/qemu-2.1.0/work/qemu-2.1.0/vl.c:4524

Reply via email to