Force connection lost from Spice server display
When hosting a VM through QEMU and attempting to connect to the guest I frequently get disconnected (thought the VM stays running). Here are the results of two different debug logs
Remote Viewer
bfesta@penguin:~$ remote-viewer --debug spice://localhost:5901
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.029: Opening display to spice://localhost:5901
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.029: Guest (null) has a spice display
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.037: After open connection callback fd=-1
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.037: Opening connection to display at spice://localhost:5901
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.040: New spice channel 0x5ad8d8e487d0 SpiceMainChannel 0
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.040: notebook show status 0x5ad8d89a0310
xkbcommon: ERROR: Key "<CAPS>" added to modifier map for multiple modifiers; Using Mod3, ignoring Lock
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.298: main channel: opened
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.298: notebook show status 0x5ad8d89a0310
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.300: virt_viewer_app_set_uuid_string: UUID changed to 2aca0dd6-cec9-4717-9ab2-0b7b13d111c3
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.300: app is not in full screen
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.301: app is not in full screen
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.327: New spice channel 0x5ad8d8f15f70 SpiceDisplayChannel 0
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.328: New spice channel 0x5ad8d91e5b60 SpiceCursorChannel 0
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.328: New spice channel 0x5ad8d91e6f70 SpiceInputsChannel 0
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.328: new inputs channel
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.355: creating spice display (#:0)
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.356: Insert display 0 0x5ad8d8e93f60
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.433: Found a window without a display, reusing for display #0
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.434: notebook show display 0x5ad8d89a0310
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.446: Allocated 1920x1080
(remote-viewer:1852): virt-viewer-DEBUG: 10:26:31.446: Child allocate 1920x1080
Gdk-Message: 10:26:37.912: Error reading events from display: Connection reset by peer
Virt-Viewer / Virt-Manager
bfesta@penguin:~$ virt-viewer --debug --connect qemu:///system 2
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.798: connecting ...
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.799: Opening connection to libvirt with URI qemu:///system
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.810: initial connect
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.810: notebook show status 0x557ca5cac310
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.811: virt_viewer_app_set_uuid_string: UUID changed to 2aca0dd6-cec9-4717-9ab2-0b7b13d111c3
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.811: notebook show status 0x557ca5cac310
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.811: Guest 2 is running, determining display
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.812: Set connect info: (null),(null),-1,-1,(null),(null),(null),0
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.814: Guest ----- has a spice display
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.829: Guest graphics address is 127.0.0.1:5901
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.829: Set connect info: localhost,127.0.0.1,5901,-1,(null),(null),(null),-1
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.829: Error operation forbidden: read only access prevents virDomainOpenGraphicsFD
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.829: After open connection callback fd=-1
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.829: Opening direct TCP connection to display at 127.0.0.1:5901:-1
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.834: New spice channel 0x557ca610bfd0 SpiceMainChannel 0
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.834: notebook show status 0x557ca5cac310
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:52.835: reconnect_poll: 0
xkbcommon: ERROR: Key "<CAPS>" added to modifier map for multiple modifiers; Using Mod3, ignoring Lock
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:53.155: main channel: opened
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:53.156: notebook show status 0x557ca5cac310
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:53.157: app is not in full screen
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:53.160: app is not in full screen
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:53.198: New spice channel 0x557ca60b3680 SpiceDisplayChannel 0
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:53.199: New spice channel 0x557ca64f7430 SpiceCursorChannel 0
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:53.199: New spice channel 0x557ca64f8830 SpiceInputsChannel 0
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:53.199: new inputs channel
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:53.222: creating spice display (#:0)
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:53.222: Insert display 0 0x557ca6198ef0
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:53.319: Found a window without a display, reusing for display #0
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:53.319: notebook show display 0x557ca5cac310
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:53.339: Allocated 1920x1080
(virt-viewer:2087): virt-viewer-DEBUG: 10:37:53.339: Child allocate 1920x1080
Gdk-Message: 10:38:22.797: Error reading events from display: Connection reset by peer
Log from QEMU
2021-04-21T14:38:25.208147Z qemu-system-x86_64: warning: guest updated active QH
main_channel_link: add main channel client
main_channel_client_handle_pong: net test: latency 0.352000 ms, bitrate 3385123966 bps (3228.305784 Mbps)
inputs_connect: inputs channel client create
red_qxl_set_cursor_peer:
red_channel_client_disconnect: rcc=0x5a757be288b0 (channel=0x5a757ab5f0a0 type=3 id=0)
red_channel_client_disconnect: rcc=0x7b8e7404c380 (channel=0x5a757c4238d0 type=4 id=0)
red_channel_client_disconnect: rcc=0x7b8e74061c00 (channel=0x5a757ab5ca10 type=2 id=0)
red_channel_client_disconnect: rcc=0x5a757be1dec0 (channel=0x5a757ab5c940 type=1 id=0)
main_channel_client_on_disconnect: rcc=0x5a757be1dec0
red_client_destroy: destroy client 0x5a757ae61600 with #channels=4
red_qxl_disconnect_cursor_peer:
red_qxl_disconnect_display_peer:
I have hit my limits for what I could try to diagnose and resolve on my own. What else can I provide you to help with this case?