Re: [Qemu-devel] [PATCH v2] monitor: temporary fix for dead-lock on event recursion

2018-07-31 Thread Markus Armbruster
Eric Blake writes: > On 07/31/2018 10:01 AM, Marc-André Lureau wrote: >> With a Spice port chardev, it is possible to reenter >> monitor_qapi_event_queue() (when the client disconnects for >> example). This will dead-lock on monitor_lock. >> >> Instead, use some TLS variables to check for recursi

Re: [Qemu-devel] [PATCH v2] monitor: temporary fix for dead-lock on event recursion

2018-07-31 Thread Marc-André Lureau
Hi On Tue, Jul 31, 2018 at 6:03 PM, Eric Blake wrote: > On 07/31/2018 10:01 AM, Marc-André Lureau wrote: >> >> With a Spice port chardev, it is possible to reenter >> monitor_qapi_event_queue() (when the client disconnects for >> example). This will dead-lock on monitor_lock. >> >> Instead, use s

Re: [Qemu-devel] [PATCH v2] monitor: temporary fix for dead-lock on event recursion

2018-07-31 Thread Eric Blake
On 07/31/2018 10:01 AM, Marc-André Lureau wrote: With a Spice port chardev, it is possible to reenter monitor_qapi_event_queue() (when the client disconnects for example). This will dead-lock on monitor_lock. Instead, use some TLS variables to check for recursion and queue the events. diff

Re: [Qemu-devel] [PATCH v2] monitor: temporary fix for dead-lock on event recursion

2018-07-31 Thread Marc-André Lureau
On Tue, Jul 31, 2018 at 5:25 PM, Markus Armbruster wrote: > Marc-André Lureau writes: > >> With a Spice port chardev, it is possible to reenter >> monitor_qapi_event_queue() (when the client disconnects for >> example). This will dead-lock on monitor_lock. >> >> Instead, use some TLS variables to

Re: [Qemu-devel] [PATCH v2] monitor: temporary fix for dead-lock on event recursion

2018-07-31 Thread Markus Armbruster
Marc-André Lureau writes: > With a Spice port chardev, it is possible to reenter > monitor_qapi_event_queue() (when the client disconnects for > example). This will dead-lock on monitor_lock. > > Instead, use some TLS variables to check for recursion and queue the > events. > > Fixes: > (gdb) bt

[Qemu-devel] [PATCH v2] monitor: temporary fix for dead-lock on event recursion

2018-07-31 Thread Marc-André Lureau
With a Spice port chardev, it is possible to reenter monitor_qapi_event_queue() (when the client disconnects for example). This will dead-lock on monitor_lock. Instead, use some TLS variables to check for recursion and queue the events. Fixes: (gdb) bt #0 0x7fa69e7217fd in __lll_lock_wait