On 01/22/21 09:46, Gerd Hoffmann wrote:
>> This patch breaks QEMU for me.
>
>> The symptom is the following: in virt-manager, the display remains dead
>> (black), when I start an OVMF guest. At the same time, unusually high
>> CPU load can be seen on the host; it makes me think that virt-manager is
>> trying, in a busy loop, to complete the VNC handshake, or some such.
>> Ultimately, although the guest boots up fine, virt-manager gives up, and
>> the display window says "Viewer was disconnected".
>
> It is the vnc_colordepth() call. Seems gtk-vnc sends a update request
> with incremental=0 as response to the VNC_ENCODING_WMVi message. So
> sending that as response to an incremental=0 update request creates an
> endless loop ...
Interesting; I saw that commit 9e1632ad07ca *added* (as opposed to
*moving*) the vnc_colordepth() call; I thought it was a relatively
insignificant bit...
I'll report back on your separately posted patch.
Thanks!
Laszlo
>
> take care,
> Gerd
>
> diff --git a/ui/vnc.c b/ui/vnc.c
> index d429bfee5a65..0a3e2f4aa98c 100644
> --- a/ui/vnc.c
> +++ b/ui/vnc.c
> @@ -2041,7 +2041,6 @@ static void framebuffer_update_request(VncState *vs,
> int incremental,
> } else {
> vs->update = VNC_STATE_UPDATE_FORCE;
> vnc_set_area_dirty(vs->dirty, vs->vd, x, y, w, h);
> - vnc_colordepth(vs);
> vnc_desktop_resize(vs);
> vnc_led_state_change(vs);
> vnc_cursor_define(vs);
>