[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] monitor: Fix order in monitor_cleanup()
From: |
Alex Bennée |
Subject: |
Re: [PATCH] monitor: Fix order in monitor_cleanup() |
Date: |
Wed, 14 Oct 2020 18:20:32 +0100 |
User-agent: |
mu4e 1.5.5; emacs 28.0.50 |
Kevin Wolf <kwolf@redhat.com> writes:
> We can only destroy Monitor objects after we're sure that they are not
> in use by the dispatcher coroutine any more. This fixes crashes like the
> following where we tried to destroy a monitor mutex while the dispatcher
> coroutine still holds it:
>
> (gdb) bt
> #0 0x00007fe541cf4bc5 in raise () at /lib64/libc.so.6
> #1 0x00007fe541cdd8a4 in abort () at /lib64/libc.so.6
> #2 0x000055c24e965327 in error_exit (err=16, msg=0x55c24eead3a0
> <__func__.33> "qemu_mutex_destroy") at ../util/qemu-thread-posix.c:37
> #3 0x000055c24e9654c3 in qemu_mutex_destroy (mutex=0x55c25133e0f0) at
> ../util/qemu-thread-posix.c:70
> #4 0x000055c24e7cfaf1 in monitor_data_destroy_qmp (mon=0x55c25133dfd0) at
> ../monitor/qmp.c:439
> #5 0x000055c24e7d23bc in monitor_data_destroy (mon=0x55c25133dfd0) at
> ../monitor/monitor.c:615
> #6 0x000055c24e7d253a in monitor_cleanup () at ../monitor/monitor.c:644
> #7 0x000055c24e6cb002 in qemu_cleanup () at ../softmmu/vl.c:4549
> #8 0x000055c24e0d259b in main (argc=24, argv=0x7ffff66b0d58,
> envp=0x7ffff66b0e20) at ../softmmu/main.c:51
>
> Reported-by: Alex Bennée <alex.bennee@linaro.org>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
LGTM:
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Who's tree is going to take it?
--
Alex Bennée