[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: e
From: |
Christian Borntraeger |
Subject: |
Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed" |
Date: |
Fri, 23 Mar 2018 13:15:46 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
On 03/23/2018 01:11 PM, Peter Maydell wrote:
> On 23 March 2018 at 12:01, Auger Eric <address@hidden> wrote:
>> Hi,
>>
>> On 23/03/18 11:26, Peter Maydell wrote:
>>> On 23 March 2018 at 10:24, Auger Eric <address@hidden> wrote:
>>>> Hi,
>>>>
>>>> I observe a regression on KVM accelerated qemu-system-aarch64:
>>>>
>>>> Unexpected error in kvm_device_access() at
>>>> /home/augere/UPSTREAM/qemu/accel/kvm/kvm-all.c:2164:
>>>> 2018-03-23T09:59:59.629439Z qemu-system-aarch64: KVM_GET_DEVICE_ATTR
>>>> failed: Group 6 attr 0x000000000000c664: Device or resource busy
>>>> 2018-03-23 10:00:00.085+0000: shutting down, reason=crashed
>>>
>>> Can you get a backtrace for this? (I guess you'd need to fiddle
>>> with the kvm_device_access() code to make it assert rather
>>> than passing back the error).
>>
>> OK. I will try to do so. As I could have expected, I cannot reproduce on
>> a standalone qemu command line. The problem observed above is seen with
>> libvirt launch which may be doing some other QMP stuff concurrently?
>
> Hmm, that could be a bit painful to debug. I dunno if libvirt
> has a "launch QEMU under gdb" option. If not, you could try
> something like:
> if (condition we want to get a backtrace on) {
> printf("hit condition, attach gdb to process %d\n", (int)getpid());
> for (;;) { }
> }
>
> and then QEMU will sit in a loop waiting for you to do a
> gdb path/to/qemu <pid>
>
> thanks
> -- PMM
>
This patch also breaks the qemu iotest. (qemu hangs).
backtrace for that is
Thread 4 (Thread 0x3ffa9c3c910 (LWP 171339)):
#0 0x000003ffb9d11a70 in __lll_lock_wait () at /lib64/libpthread.so.0
#1 0x000003ffb9d0a630 in pthread_mutex_lock () at /lib64/libpthread.so.0
#2 0x0000000001557e90 in qemu_mutex_lock_impl (mutex=0x1a63f90
<qemu_global_mutex>, file=0x160bc36 "/home/cborntra/REPOS/qemu/cpus.c",
line=1757)
at /home/cborntra/REPOS/qemu/util/qemu-thread-posix.c:67
#3 0x000000000108ad5e in qemu_mutex_lock_iothread () at
/home/cborntra/REPOS/qemu/cpus.c:1757
#4 0x0000000001089c70 in qemu_dummy_cpu_thread_fn (arg=0x3d4f9eb0) at
/home/cborntra/REPOS/qemu/cpus.c:1258
#5 0x000003ffb9d07a88 in start_thread () at /lib64/libpthread.so.0
#6 0x000003ffb731940e in thread_start () at /lib64/libc.so.6
Thread 3 (Thread 0x3ffaa43d910 (LWP 171338)):
#0 0x000003ffb730c050 in poll () at /lib64/libc.so.6
#1 0x000003ffb8bd13b4 in g_main_context_iterate.isra () at
/lib64/libglib-2.0.so.0
#2 0x000003ffb8bd1840 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#3 0x00000000011f499e in iothread_run (opaque=0x3d2a4110) at
/home/cborntra/REPOS/qemu/iothread.c:70
#4 0x000003ffb9d07a88 in start_thread () at /lib64/libpthread.so.0
#5 0x000003ffb731940e in thread_start () at /lib64/libc.so.6
Thread 2 (Thread 0x3ffab743910 (LWP 171336)):
#0 0x000003ffb7313ada in syscall () at /lib64/libc.so.6
#1 0x0000000001558b5e in qemu_futex_wait (f=0x1e9b41c <rcu_call_ready_event>,
val=4294967295) at /home/cborntra/REPOS/qemu/include/qemu/futex.h:29
#2 0x0000000001558e16 in qemu_event_wait (ev=0x1e9b41c <rcu_call_ready_event>)
at /home/cborntra/REPOS/qemu/util/qemu-thread-posix.c:445
#3 0x000000000157af82 in call_rcu_thread (opaque=0x0) at
/home/cborntra/REPOS/qemu/util/rcu.c:261
#4 0x000003ffb9d07a88 in start_thread () at /lib64/libpthread.so.0
#5 0x000003ffb731940e in thread_start () at /lib64/libc.so.6
Thread 1 (Thread 0x3ffba146290 (LWP 171335)):
#0 0x000003ffb730c1a2 in ppoll () at /lib64/libc.so.6
#1 0x00000000015502da in qemu_poll_ns (fds=0x3d3b2720, nfds=1, timeout=-1) at
/home/cborntra/REPOS/qemu/util/qemu-timer.c:322
#2 0x0000000001554882 in aio_poll (ctx=0x3d3924e0, blocking=true) at
/home/cborntra/REPOS/qemu/util/aio-posix.c:629
#3 0x000000000145533e in bdrv_drain_recurse (bs=0x3d3a6a70) at
/home/cborntra/REPOS/qemu/block/io.c:197
#4 0x0000000001455f1a in bdrv_drain_all_begin () at
/home/cborntra/REPOS/qemu/block/io.c:447
#5 0x00000000014560d6 in bdrv_drain_all () at
/home/cborntra/REPOS/qemu/block/io.c:476
#6 0x0000000001089216 in do_vm_stop (state=RUN_STATE_SHUTDOWN,
send_stop=false) at /home/cborntra/REPOS/qemu/cpus.c:1010
#7 0x0000000001089266 in vm_shutdown () at
/home/cborntra/REPOS/qemu/cpus.c:1022
#8 0x0000000001208c08 in main (argc=18, argv=0x3fffbcfdbd8,
envp=0x3fffbcfdc70) at /home/cborntra/REPOS/qemu/vl.c:4732
- [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed", Auger Eric, 2018/03/23
- Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed", Peter Maydell, 2018/03/23
- Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed", Auger Eric, 2018/03/23
- Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed", Peter Maydell, 2018/03/23
- Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed",
Christian Borntraeger <=
- Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed", Daniel P . Berrangé, 2018/03/23
- Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed", Auger Eric, 2018/03/23
- Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed", Peter Xu, 2018/03/23
- Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed", Peter Xu, 2018/03/27
- Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed", Auger Eric, 2018/03/28
- Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed", Peter Xu, 2018/03/28
- Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed", Auger Eric, 2018/03/28
- Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed", Peter Xu, 2018/03/23
- Re: [Qemu-devel] Regression on KVM qemu-system-aarch64 since "monitor: enable IO thread for (qmp & !mux) typed", Auger Eric, 2018/03/23