[
https://issues.apache.org/jira/browse/GUACAMOLE-2063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mike Jumper reopened GUACAMOLE-2063:
------------------------------------
Part of the fix already committed needs to acquire the proper lock before
checking {{render_thread->state.value}}. As reported by Coverity, the following
block of code:
{code:c|title=display-render-thread.c (starting at line 143)}
/* Use explicit frame boundaries whenever available */
if (render_thread->state.value & GUAC_DISPLAY_RENDER_THREAD_STATE_FRAME_READY) {
rendered_frames = render_thread->frames;
render_thread->frames = 0;
guac_flag_clear(&render_thread->state,
GUAC_DISPLAY_RENDER_THREAD_STATE_FRAME_READY
| GUAC_DISPLAY_RENDER_THREAD_STATE_FRAME_MODIFIED);
guac_flag_unlock(&render_thread->state);
break;
}
{code}
presumes that the lock for the {{render_thread->state}} flag has been acquired,
yet this isn't the case any longer. The block was moved outside the portion of
code that holds the lock.
> RDP message_lock can block processing of "sync"
> -----------------------------------------------
>
> Key: GUACAMOLE-2063
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-2063
> Project: Guacamole
> Issue Type: Bug
> Components: RDP
> Affects Versions: 1.6.0
> Reporter: Mike Jumper
> Assignee: Mike Jumper
> Priority: Blocker
> Fix For: 1.6.0
>
>
> Similar to GUACAMOLE-2061, the {{message_lock}} used within the RDP support
> to control concurrent attempts to send RDP messages appears to contribute to
> delays in processing of "sync", indirectly tying progress of output
> processing to processing of input.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)