After further investigation we&#39;ve found the root cause of this problem, which was last discussed in a February thread.   To recap, the symptom was that keyboard and mouse input was sometimes not being processed by the X11 spice client when it was invoked with fullscreen=auto-config.   <div>
<br></div><div>The reason for this behavior was that in the invoking code we were closing all file descriptors, including 0, 1, and 2, before doing a fork/exec of the spice client.   As a result the spice client obtained file descriptors with values 1 and 2 when it created its first event Trigger on start-up.   As a result any output to stderr was then written to the ProcessLoop trigger&#39;s pipe, with disastrous results.   (As the Trigger class is written to never expect more than one byte to be written into the pipe, an event storm on fd 1 occured, effectively starving all other input - including X Windows mouse and keyboard - from the select loop of EventSources::wait_events.)</div>
<div><br></div><div>We&#39;ve fixed the problem locally by changing our invocation of spicec to leave the stdio file descriptors open.   However, in the interest of defensive programming I&#39;d suggest that the spice client do some kind of check on the stderr file descriptor before logging anything to that stream - this could be done in Application::init_logger() and enforced in Application::spice_log().</div>
<div><br></div><div>thanks</div><div>Neal Prager</div>