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)

Reply via email to