From: Christian Borntraeger <borntraeger@de.ibm.com>
To: "Michael S. Tsirkin" <mst@redhat.com>, qemu-devel@nongnu.org
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Kevin Wolf <kwolf@redhat.com>,
qemu-block@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] virtio-blk: assert on starting/stopping
Date: Sun, 3 Apr 2016 21:59:37 +0200 [thread overview]
Message-ID: <57017629.9090108@de.ibm.com> (raw)
In-Reply-To: <1459679740-17519-1-git-send-email-mst@redhat.com>
On 04/03/2016 12:37 PM, Michael S. Tsirkin wrote:
> Reentrancy cannot happen while the BQL is being held,
> so we should never enter this condition.
>
> Cc: Christian Borntraeger <borntraeger@de.ibm.com>
> Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
>
> This is a replacement for [PATCH 9/9] virtio: remove starting/stopping
> checks Christian, could you please give it a spin with debug enabled?
> Since you reported above Paolo's patch triggers segfaults, I expect this
> one to trigger assertions as well, which should give us more info on
> the root cause.
>
the assert triggered (see below).
(gdb) thread apply all bt
Thread 5 (Thread 0x3ffa9fff910 (LWP 41714)):
#0 0x000003ffab68841e in syscall () at /lib64/libc.so.6
#1 0x00000000803e84f6 in futex_wait (ev=0x80a65bd4 <rcu_call_ready_event>, val=4294967295) at /home/cborntra/REPOS/qemu/util/qemu-thread-posix.c:292
#2 0x00000000803e8786 in qemu_event_wait (ev=0x80a65bd4 <rcu_call_ready_event>) at /home/cborntra/REPOS/qemu/util/qemu-thread-posix.c:399
#3 0x0000000080405ec4 in call_rcu_thread (opaque=0x0) at /home/cborntra/REPOS/qemu/util/rcu.c:250
#4 0x000003ffab787c2c in start_thread () at /lib64/libpthread.so.0
#5 0x000003ffab68ec9a in thread_start () at /lib64/libc.so.6
Thread 4 (Thread 0x3ffa97ff910 (LWP 41718)):
#0 0x000000008001b09a in address_space_read_continue (as=0x805da230 <address_space_memory>, addr=350645744, attrs=..., buf=0x3ffa97f8450 "", len=0, addr1=350645728, l=16, mr=0x80b0d6a0)
at /home/cborntra/REPOS/qemu/exec.c:2738
#1 0x000000008001b186 in address_space_read_full (as=0x805da230 <address_space_memory>, addr=350645728, attrs=..., buf=0x3ffa97f8440 "\230\001q\024", len=16)
at /home/cborntra/REPOS/qemu/exec.c:2752
#2 0x00000000800ed284 in vring_desc_read (len=16, buf=0x3ffa97f8440 "\230\001q\024", attrs=..., addr=350645728, as=0x805da230 <address_space_memory>)
at /home/cborntra/REPOS/qemu/include/exec/memory.h:1431
#3 0x00000000800ed284 in vring_desc_read (vdev=0x80e44b88, desc=0x3ffa97f8440, desc_pa=350645696, i=2) at /home/cborntra/REPOS/qemu/hw/virtio/virtio.c:124
#4 0x00000000800ee05e in virtqueue_read_next_desc (vdev=0x80e44b88, desc=0x3ffa97f8440, desc_pa=350645696, max=3) at /home/cborntra/REPOS/qemu/hw/virtio/virtio.c:366
#5 0x00000000800eecbe in virtqueue_pop (vq=0x80f221c0, sz=160) at /home/cborntra/REPOS/qemu/hw/virtio/virtio.c:602
#6 0x00000000800b40b0 in virtio_blk_get_request (s=0x80e44b88) at /home/cborntra/REPOS/qemu/hw/block/virtio-blk.c:192
#7 0x00000000800b56e0 in virtio_blk_handle_vq (s=0x80e44b88, vq=0x80f221c0) at /home/cborntra/REPOS/qemu/hw/block/virtio-blk.c:588
#8 0x00000000800b78a2 in virtio_blk_data_plane_handle_output (vdev=0x80e44b88, vq=0x80f221c0) at /home/cborntra/REPOS/qemu/hw/block/dataplane/virtio-blk.c:195
#9 0x00000000800f0cb4 in virtio_queue_notify_aio_vq (vq=0x80f221c0) at /home/cborntra/REPOS/qemu/hw/virtio/virtio.c:1098
#10 0x00000000800f3664 in virtio_queue_host_notifier_aio_read (n=0x80f22220) at /home/cborntra/REPOS/qemu/hw/virtio/virtio.c:1799
#11 0x00000000802f1a0c in aio_dispatch (ctx=0x80acd5d0) at /home/cborntra/REPOS/qemu/aio-posix.c:327
#12 0x00000000802f2392 in aio_poll (ctx=0x80acd5d0, blocking=true) at /home/cborntra/REPOS/qemu/aio-posix.c:475
#13 0x000000008016590a in iothread_run (opaque=0x80acd090) at /home/cborntra/REPOS/qemu/iothread.c:46
#14 0x000003ffab787c2c in start_thread () at /lib64/libpthread.so.0
#15 0x000003ffab68ec9a in thread_start () at /lib64/libc.so.6
Thread 3 (Thread 0x3ff8b9d2910 (LWP 41739)):
#0 0x000003ffab68334a in ioctl () at /lib64/libc.so.6
#1 0x0000000080081c84 in kvm_vcpu_ioctl (cpu=0x80e4d2b0, type=44672) at /home/cborntra/REPOS/qemu/kvm-all.c:1984
#2 0x000000008008154c in kvm_cpu_exec (cpu=0x80e4d2b0) at /home/cborntra/REPOS/qemu/kvm-all.c:1834
#3 0x000000008006075c in qemu_kvm_cpu_thread_fn (arg=0x80e4d2b0) at /home/cborntra/REPOS/qemu/cpus.c:1056
#4 0x000003ffab787c2c in start_thread () at /lib64/libpthread.so.0
#5 0x000003ffab68ec9a in thread_start () at /lib64/libc.so.6
Thread 2 (Thread 0x3ff8b1d2910 (LWP 41743)):
#0 0x000003ffab68334a in ioctl () at /lib64/libc.so.6
#1 0x0000000080081c84 in kvm_vcpu_ioctl (cpu=0x80b40040, type=44672) at /home/cborntra/REPOS/qemu/kvm-all.c:1984
#2 0x000000008008154c in kvm_cpu_exec (cpu=0x80b40040) at /home/cborntra/REPOS/qemu/kvm-all.c:1834
#3 0x000000008006075c in qemu_kvm_cpu_thread_fn (arg=0x80b40040) at /home/cborntra/REPOS/qemu/cpus.c:1056
#4 0x000003ffab787c2c in start_thread () at /lib64/libpthread.so.0
#5 0x000003ffab68ec9a in thread_start () at /lib64/libc.so.6
Thread 1 (Thread 0x3ffad25bb90 (LWP 41685)):
---Type <return> to continue, or q <return> to quit---
#0 0x000003ffab5be2c0 in raise () at /lib64/libc.so.6
#1 0x000003ffab5bfc26 in abort () at /lib64/libc.so.6
#2 0x000003ffab5b5bce in __assert_fail_base () at /lib64/libc.so.6
#3 0x000003ffab5b5c5c in () at /lib64/libc.so.6
#4 0x00000000800b79e4 in virtio_blk_data_plane_start (s=0x80b195a0) at /home/cborntra/REPOS/qemu/hw/block/dataplane/virtio-blk.c:210
#5 0x00000000800b57ba in virtio_blk_handle_output (vdev=0x80e4b0f8, vq=0x80eaa180) at /home/cborntra/REPOS/qemu/hw/block/virtio-blk.c:607
#6 0x00000000800f0d74 in virtio_queue_notify_vq (vq=0x80eaa180) at /home/cborntra/REPOS/qemu/hw/virtio/virtio.c:1108
#7 0x00000000800f376c in virtio_queue_host_notifier_read (n=0x80eaa1e0) at /home/cborntra/REPOS/qemu/hw/virtio/virtio.c:1820
#8 0x00000000800f381c in virtio_queue_set_host_notifier_fd_handler (vq=0x80eaa180, assign=false, set_handler=false) at /home/cborntra/REPOS/qemu/hw/virtio/virtio.c:1836
#9 0x000000008010b808 in virtio_ccw_set_guest2host_notifier (dev=0x80e49fb0, n=0, assign=false, set_handler=false) at /home/cborntra/REPOS/qemu/hw/s390x/virtio-ccw.c:98
#10 0x000000008010baaa in virtio_ccw_stop_ioeventfd (dev=0x80e49fb0) at /home/cborntra/REPOS/qemu/hw/s390x/virtio-ccw.c:155
#11 0x000000008010f162 in virtio_ccw_set_host_notifier (d=0x80e49fb0, n=0, assign=true) at /home/cborntra/REPOS/qemu/hw/s390x/virtio-ccw.c:1212
#12 0x00000000800b7ab0 in virtio_blk_data_plane_start (s=0x80b195a0) at /home/cborntra/REPOS/qemu/hw/block/dataplane/virtio-blk.c:225
#13 0x00000000800b57ba in virtio_blk_handle_output (vdev=0x80e4b0f8, vq=0x80eaa180) at /home/cborntra/REPOS/qemu/hw/block/virtio-blk.c:607
#14 0x00000000800f0d74 in virtio_queue_notify_vq (vq=0x80eaa180) at /home/cborntra/REPOS/qemu/hw/virtio/virtio.c:1108
#15 0x00000000800f376c in virtio_queue_host_notifier_read (n=0x80eaa1e0) at /home/cborntra/REPOS/qemu/hw/virtio/virtio.c:1820
#16 0x00000000802f1a0c in aio_dispatch (ctx=0x80abae30) at /home/cborntra/REPOS/qemu/aio-posix.c:327
#17 0x00000000802df4d4 in aio_ctx_dispatch (source=0x80abae30, callback=0x0, user_data=0x0) at /home/cborntra/REPOS/qemu/async.c:233
#18 0x000003ffabfd1c0a in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#19 0x00000000802ee70e in glib_pollfds_poll () at /home/cborntra/REPOS/qemu/main-loop.c:213
#20 0x00000000802ee84a in os_host_main_loop_wait (timeout=1472000000) at /home/cborntra/REPOS/qemu/main-loop.c:258
#21 0x00000000802ee956 in main_loop_wait (nonblocking=0) at /home/cborntra/REPOS/qemu/main-loop.c:506
#22 0x000000008017dc0c in main_loop () at /home/cborntra/REPOS/qemu/vl.c:1934
#23 0x00000000801860e0 in main (argc=72, argv=0x3ffd60fe838, envp=0x3ffd60fea80) at /home/cborntra/REPOS/qemu/vl.c:4652
next prev parent reply other threads:[~2016-04-03 19:59 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-03 10:37 [Qemu-devel] [PATCH] virtio-blk: assert on starting/stopping Michael S. Tsirkin
2016-04-03 19:59 ` Christian Borntraeger [this message]
2016-04-03 21:13 ` Paolo Bonzini
2016-04-04 8:10 ` Cornelia Huck
2016-04-04 8:19 ` Paolo Bonzini
2016-04-04 8:25 ` Cornelia Huck
2016-04-04 8:47 ` Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=57017629.9090108@de.ibm.com \
--to=borntraeger@de.ibm.com \
--cc=cornelia.huck@de.ibm.com \
--cc=kwolf@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.