Mike Jumper created GUACAMOLE-2061:
--------------------------------------
Summary: guac_display_notify_user_moved_mouse() can block
processing of "sync"
Key: GUACAMOLE-2061
URL: https://issues.apache.org/jira/browse/GUACAMOLE-2061
Project: Guacamole
Issue Type: Bug
Components: libguac, RDP, VNC
Affects Versions: 1.6.0
Reporter: Mike Jumper
Assignee: Mike Jumper
Fix For: 1.6.0
The {{guac_display_notify_user_moved_mouse()}} function necessarily locks the
pending frame state, but this means that any current processing of the pending
frame can potentially block the caller of
{{guac_display_notify_user_moved_mouse()}}, typically the "mouse" instruction
handler.
Since instructions are handled in the order they are received, processing of
other instructions like "sync" will be delayed. Delays in processing "sync"
will be interpreted as client-side delays in _sending_ "sync" (this is the
"processing lag" calculation), thus producing a feedback loop of increasing
frame duration until updates slow to a crawl.
Once things settle, updates resume as normal.
Usage or implementation of {{guac_display_notify_user_moved_mouse()}} will need
to be adjusted such that it cannot appreciably block processing of "sync".
--
This message was sent by Atlassian Jira
(v8.20.10#820010)