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

2018-07-31 Thread Markus Armbruster
Marc-André Lureau writes: > Hi > > On Tue, Jul 31, 2018 at 9:05 AM, 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

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

2018-07-31 Thread Marc-André Lureau
Hi On Tue, Jul 31, 2018 at 9:05 AM, 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 variable

Re: [Qemu-devel] [PATCH RFC] 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. [...] > > Note that er

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

2018-07-30 Thread Daniel P . Berrangé
On Mon, Jul 30, 2018 at 03:09:08PM +0200, Marc-André Lureau wrote: > Hi > > On Mon, Jul 30, 2018 at 3:05 PM, Daniel P. Berrangé > wrote: > > On Mon, Jul 30, 2018 at 02:57:46PM +0200, Marc-André Lureau wrote: > >> With a Spice port chardev, it is possible to reenter > >> monitor_qapi_event_queue(

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

2018-07-30 Thread Marc-André Lureau
Hi On Mon, Jul 30, 2018 at 3:05 PM, Daniel P. Berrangé wrote: > On Mon, Jul 30, 2018 at 02:57:46PM +0200, 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_loc

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

2018-07-30 Thread Daniel P . Berrangé
On Mon, Jul 30, 2018 at 02:57:46PM +0200, 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 qu

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

2018-07-30 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