I cannot find a reason we asserted that injecting interrupts happen only when the vm is running. This is right now the cause of spice crashing due to the new interface_client_set_capabilities being called when the vm is stopped, this happens if a user stops the vm or the vm reboots and a spice connection is dropped / created meanwhile.
Sending as RFC since I'm not sure what the original reason for the assert is, git history is no help, it's in the first commit. RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=870972 Signed-off-by: Alon Levy <al...@redhat.com> --- hw/qxl.c | 1 - 1 file changed, 1 deletion(-) diff --git a/hw/qxl.c b/hw/qxl.c index 7b88a1e..ea92f83 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1739,7 +1739,6 @@ static void qxl_send_events(PCIQXLDevice *d, uint32_t events) uint32_t le_events = cpu_to_le32(events); trace_qxl_send_events(d->id, events); - assert(qemu_spice_display_is_running(&d->ssd)); old_pending = __sync_fetch_and_or(&d->ram->int_pending, le_events); if ((old_pending & le_events) == le_events) { return; -- 1.7.12.1