[ https://issues.apache.org/jira/browse/GUACAMOLE-719?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rui Wang updated GUACAMOLE-719: ------------------------------- Description: We are using guacamole to access remote desktop in web-browser. We try to use websocket-tunnel for better performance, but if I open two tab in my browser connecting to same vnc server with different ports through same guacd server, one page get frozen(websocket stop send/receive any messages), the other get error like: 776 and disconnected. And we can connect to these two vnc servers using vnc-viewer direclty after browser vnc frozen/disconnected. Seems guacd will abort/kill one after another. It's only happending if we use webscoket, using httpeServlet tunnel seems do not have such probelm. Anyone encounter similar issue? Here are my setup. # guacamole-js was used in web side. # We use x11vnc, guacd installed with same linux box # We developed two endpoints use spring-boot: websocket-tunnel by extending GuacamoleWebSocketTunnelEndpoint,http-servlet tunnel by extending GuacamoleHTTPTunnelServlet guacd log here: {code:java} Jan 25 04:32:58 vnchost guacd[105232]: Protocol "vnc" selected Jan 25 04:32:58 vnchost guacd[105232]: Connection ID is "$7d545e7e-0a29-40e5-a4a3-9964fa07b22b" Jan 25 04:32:58 vnchost guacd[105232]: VNC server supports protocol version 3.8 (viewer 3.8) Jan 25 04:32:58 vnchost guacd[105232]: We have 1 security types to read Jan 25 04:32:58 vnchost guacd[105232]: 0) Received security type 1 Jan 25 04:32:58 vnchost guacd[105232]: Selecting security type 1 (0/1 in the list) Jan 25 04:32:58 vnchost guacd[105232]: Selected Security Scheme 1 Jan 25 04:32:58 vnchost guacd[105232]: No authentication needed Jan 25 04:32:58 vnchost guacd[105232]: VNC authentication succeeded Jan 25 04:32:58 vnchost guacd[105232]: Desktop name "vnchost:0" Jan 25 04:32:58 vnchost guacd[105232]: Connected to VNC server, using protocol version 3.8 Jan 25 04:32:58 vnchost guacd[105232]: VNC server default format: Jan 25 04:32:58 vnchost guacd[105232]: 32 bits per pixel. Jan 25 04:32:58 vnchost guacd[105232]: Least significant byte first in each pixel. Jan 25 04:32:58 vnchost guacd[105232]: TRUE colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0 Jan 25 04:32:58 vnchost guacd[105232]: Starting client Jan 25 04:32:58 vnchost guacd[105232]: client2server supported messages (bit flags) Jan 25 04:32:58 vnchost guacd[105232]: 00: 00ff 0081 0000 0000 - 0000 0000 0000 0000 Jan 25 04:32:58 vnchost guacd[105232]: 08: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:32:58 vnchost guacd[105232]: 10: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:32:58 vnchost guacd[105232]: 18: 0000 0000 0000 0000 - 0000 0000 0000 0004 Jan 25 04:32:58 vnchost guacd[105232]: server2client supported messages (bit flags) Jan 25 04:32:58 vnchost guacd[105232]: 00: 001f 0080 0000 0000 - 0000 0000 0000 0000 Jan 25 04:32:58 vnchost guacd[105232]: 08: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:32:58 vnchost guacd[105232]: 10: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:32:58 vnchost guacd[105232]: 18: 0000 0000 0000 0000 - 0000 0000 0000 0004 Jan 25 04:32:58 vnchost guacd[105232]: Connected to Server "unknown (LibVNCServer 0.9.9)" Jan 25 04:36:28 vnchost guacd[105538]: Protocol "vnc" selected Jan 25 04:36:28 vnchost guacd[105538]: Connection ID is "$6fd98484-1dd0-4c66-aa04-6c358cd30548" Jan 25 04:36:29 vnchost guacd[105538]: VNC server supports protocol version 3.8 (viewer 3.8) Jan 25 04:36:29 vnchost guacd[105538]: We have 1 security types to read Jan 25 04:36:29 vnchost guacd[105538]: 0) Received security type 1 Jan 25 04:36:29 vnchost guacd[105538]: Selecting security type 1 (0/1 in the list) Jan 25 04:36:29 vnchost guacd[105538]: Selected Security Scheme 1 Jan 25 04:36:29 vnchost guacd[105538]: No authentication needed Jan 25 04:36:29 vnchost guacd[105538]: VNC authentication succeeded Jan 25 04:36:29 vnchost guacd[105538]: Desktop name "vnchost:2" Jan 25 04:36:29 vnchost guacd[105538]: Connected to VNC server, using protocol version 3.8 Jan 25 04:36:29 vnchost guacd[105538]: VNC server default format: Jan 25 04:36:29 vnchost guacd[105538]: 32 bits per pixel. Jan 25 04:36:29 vnchost guacd[105538]: Least significant byte first in each pixel. Jan 25 04:36:29 vnchost guacd[105538]: TRUE colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0 Jan 25 04:36:29 vnchost guacd[105538]: Starting client Jan 25 04:36:29 vnchost guacd[105538]: client2server supported messages (bit flags) Jan 25 04:36:29 vnchost guacd[105538]: 00: 00ff 0081 0000 0000 - 0000 0000 0000 0000 Jan 25 04:36:29 vnchost guacd[105538]: 08: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:36:29 vnchost guacd[105538]: 10: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:36:29 vnchost guacd[105538]: 18: 0000 0000 0000 0000 - 0000 0000 0000 0004 Jan 25 04:36:29 vnchost guacd[105538]: server2client supported messages (bit flags) Jan 25 04:36:29 vnchost guacd[105538]: 00: 001f 0080 0000 0000 - 0000 0000 0000 0000 Jan 25 04:36:29 vnchost guacd[105538]: 08: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:36:29 vnchost guacd[105538]: 10: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:36:29 vnchost guacd[105538]: 18: 0000 0000 0000 0000 - 0000 0000 0000 0004 Jan 25 04:36:29 vnchost guacd[105538]: Connected to Server "unknown (LibVNCServer 0.9.9)" Jan 25 04:36:29 vnchost guacd[105538]: Connection aborted Jan 25 04:36:30 vnchost guacd[105538]: Client disconnected Jan 25 04:36:30 vnchost kernel: guacd[105538]: segfault at 1000003f8 ip 00007fbfce7bdc24 sp 00007ffe0d31c990 error 4 in libguac-client-vnc.so.0.0.0[7fbfce7b2000+f000] Jan 25 04:36:30 vnchost abrt-hook-ccpp: Process 105538 (guacd) of user 0 killed by SIGSEGV - dumping core Jan 25 04:36:30 vnchost abrt-server: Executable '/usr/local/sbin/guacd' doesn't belong to any package and ProcessUnpackaged is set to 'no' Jan 25 04:36:43 vnchost guacd[105232]: Client is not responding. Jan 25 04:36:43 vnchost guacd[105232]: Client disconnected Jan 25 04:36:43 vnchost kernel: guacd[105232]: segfault at 1000003f8 ip 00007fbfce7bdc24 sp 00007ffe0d31c990 error 4 in libguac-client-vnc.so.0.0.0[7fbfce7b2000+f000] Jan 25 04:36:43 vnchost abrt-hook-ccpp: Process 105232 (guacd) of user 0 killed by SIGSEGV - ignoring (repeated crash) {code} Spring-boot application log here {code:java} 2019-01-25 12:32:58.441 DEBUG 1 --- [nio-8080-exec-6] o.a.guacamole.net.InetGuacamoleSocket : Connecting to guacd at vnchost:4832. 2019-01-25 12:32:58.961 DEBUG 1 --- [ Thread-6] .g.b.g.w.e.MyGuacamoleWebSocketEndPoint : Open tunnel on port: '5900', uuid: '2eba77c8-2f74-42a3-8ca5-4cf882ee3653' and connection_id: '$7d545e7e-0a29-40e5-a4a3-9964fa07b22b'. 2019-01-25 12:36:28.785 DEBUG 1 --- [nio-8080-exec-2] o.a.guacamole.net.InetGuacamoleSocket : Connecting to guacd at vnchost:4832. 2019-01-25 12:36:29.137 DEBUG 1 --- [ Thread-8] .g.b.g.w.e.MyGuacamoleWebSocketEndPoint : Open tunnel on port: '5902', uuid: '67446967-2e8e-42d7-9c73-68c2a80a270b' and connection_id: '$6fd98484-1dd0-4c66-aa04-6c358cd30548'. 2019-01-25 12:36:30.510 DEBUG 1 --- [ Thread-8] o.a.g.w.GuacamoleWebSocketTunnelEndpoint : Connection to guacd closed. org.apache.guacamole.GuacamoleConnectionClosedException: Connection to guacd is closed. at org.apache.guacamole.io.ReaderGuacamoleReader.read(ReaderGuacamoleReader.java:183) ~[guacamole-common-0.9.14.jar!/:na] at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint$2.run(GuacamoleWebSocketTunnelEndpoint.java:160) ~[guacamole-common-0.9.14.jar!/:na] Caused by: java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:210) ~[na:1.8.0_191] at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[na:1.8.0_191] at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) ~[na:1.8.0_191] at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[na:1.8.0_191] at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[na:1.8.0_191] at java.io.InputStreamReader.read(InputStreamReader.java:184) ~[na:1.8.0_191] at org.apache.guacamole.io.ReaderGuacamoleReader.read(ReaderGuacamoleReader.java:169) ~[guacamole-common-0.9.14.jar!/:na] ... 1 common frames omitted 2019-01-25 12:36:30.511 DEBUG 1 --- [ Thread-8] .g.b.g.w.e.MyGuacamoleWebSocketEndPoint : Close tunnel on port: '5902', uuid: '67446967-2e8e-42d7-9c73-68c2a80a270b' and connection_id: '$6fd98484-1dd0-4c66-aa04-6c358cd30548'. 2019-01-25 12:36:30.511 DEBUG 1 --- [ Thread-8] o.a.guacamole.net.InetGuacamoleSocket : Closing socket to guacd. 2019-01-25 12:36:30.627 DEBUG 1 --- [nio-8080-exec-4] o.a.g.w.GuacamoleWebSocketTunnelEndpoint : Connection to guacd closed. org.apache.guacamole.GuacamoleConnectionClosedException: Connection to guacd is closed. at org.apache.guacamole.io.WriterGuacamoleWriter.write(WriterGuacamoleWriter.java:64) ~[guacamole-common-0.9.14.jar!/:na] at org.apache.guacamole.io.WriterGuacamoleWriter.write(WriterGuacamoleWriter.java:73) ~[guacamole-common-0.9.14.jar!/:na] at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint.onMessage(GuacamoleWebSocketTunnelEndpoint.java:221) ~[guacamole-common-0.9.14.jar!/:na] at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint$1.onMessage(GuacamoleWebSocketTunnelEndpoint.java:129) [guacamole-common-0.9.14.jar!/:na] at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint$1.onMessage(GuacamoleWebSocketTunnelEndpoint.java:125) [guacamole-common-0.9.14.jar!/:na] at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:394) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:119) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:495) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:294) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:82) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54) [tomcat-embed-core-8.5.31.jar!/:8.5.31] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53) [tomcat-embed-core-8.5.31.jar!/:8.5.31] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) [tomcat-embed-core-8.5.31.jar!/:8.5.31] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468) [tomcat-embed-core-8.5.31.jar!/:8.5.31] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.31.jar!/:8.5.31] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_191] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_191] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.31.jar!/:8.5.31] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_191] Caused by: java.net.SocketException: Socket closed at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:118) ~[na:1.8.0_191] at java.net.SocketOutputStream.write(SocketOutputStream.java:155) ~[na:1.8.0_191] at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) ~[na:1.8.0_191] at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291) ~[na:1.8.0_191] at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295) ~[na:1.8.0_191] at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) ~[na:1.8.0_191] at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) ~[na:1.8.0_191] at org.apache.guacamole.io.WriterGuacamoleWriter.write(WriterGuacamoleWriter.java:58) ~[guacamole-common-0.9.14.jar!/:na] ... 22 common frames omitted {code} was: {code:java} {code} We are using guacamole to access remote desktop in web-browser. We try to use websocket-tunnel for better performance, but if I open two tab in my browser connecting to same vnc server with different ports through same guacd server, one page get frozen(websocket stop send/receive any messages), the other get error like: 776 and disconnected. And we can connect to these two vnc servers using vnc-viewer direclty after browser vnc frozen/disconnected. Seems guacd will abort/kill one after another. It's only happending if we use webscoket, using httpeServlet tunnel seems do not have such probelm. Anyone encounter similar issue? Here are my setup. # guacamole-js was used in web side. # We use x11vnc, guacd installed with same linux box # We developed two endpoints use spring-boot: websocket-tunnel by extending GuacamoleWebSocketTunnelEndpoint,http-servlet tunnel by extending GuacamoleHTTPTunnelServlet guacd log here: {code:java} Jan 25 04:32:58 vnchost guacd[105232]: Protocol "vnc" selected Jan 25 04:32:58 vnchost guacd[105232]: Connection ID is "$7d545e7e-0a29-40e5-a4a3-9964fa07b22b" Jan 25 04:32:58 vnchost guacd[105232]: VNC server supports protocol version 3.8 (viewer 3.8) Jan 25 04:32:58 vnchost guacd[105232]: We have 1 security types to read Jan 25 04:32:58 vnchost guacd[105232]: 0) Received security type 1 Jan 25 04:32:58 vnchost guacd[105232]: Selecting security type 1 (0/1 in the list) Jan 25 04:32:58 vnchost guacd[105232]: Selected Security Scheme 1 Jan 25 04:32:58 vnchost guacd[105232]: No authentication needed Jan 25 04:32:58 vnchost guacd[105232]: VNC authentication succeeded Jan 25 04:32:58 vnchost guacd[105232]: Desktop name "vnchost:0" Jan 25 04:32:58 vnchost guacd[105232]: Connected to VNC server, using protocol version 3.8 Jan 25 04:32:58 vnchost guacd[105232]: VNC server default format: Jan 25 04:32:58 vnchost guacd[105232]: 32 bits per pixel. Jan 25 04:32:58 vnchost guacd[105232]: Least significant byte first in each pixel. Jan 25 04:32:58 vnchost guacd[105232]: TRUE colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0 Jan 25 04:32:58 vnchost guacd[105232]: Starting client Jan 25 04:32:58 vnchost guacd[105232]: client2server supported messages (bit flags) Jan 25 04:32:58 vnchost guacd[105232]: 00: 00ff 0081 0000 0000 - 0000 0000 0000 0000 Jan 25 04:32:58 vnchost guacd[105232]: 08: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:32:58 vnchost guacd[105232]: 10: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:32:58 vnchost guacd[105232]: 18: 0000 0000 0000 0000 - 0000 0000 0000 0004 Jan 25 04:32:58 vnchost guacd[105232]: server2client supported messages (bit flags) Jan 25 04:32:58 vnchost guacd[105232]: 00: 001f 0080 0000 0000 - 0000 0000 0000 0000 Jan 25 04:32:58 vnchost guacd[105232]: 08: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:32:58 vnchost guacd[105232]: 10: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:32:58 vnchost guacd[105232]: 18: 0000 0000 0000 0000 - 0000 0000 0000 0004 Jan 25 04:32:58 vnchost guacd[105232]: Connected to Server "unknown (LibVNCServer 0.9.9)" Jan 25 04:36:28 vnchost guacd[105538]: Protocol "vnc" selected Jan 25 04:36:28 vnchost guacd[105538]: Connection ID is "$6fd98484-1dd0-4c66-aa04-6c358cd30548" Jan 25 04:36:29 vnchost guacd[105538]: VNC server supports protocol version 3.8 (viewer 3.8) Jan 25 04:36:29 vnchost guacd[105538]: We have 1 security types to read Jan 25 04:36:29 vnchost guacd[105538]: 0) Received security type 1 Jan 25 04:36:29 vnchost guacd[105538]: Selecting security type 1 (0/1 in the list) Jan 25 04:36:29 vnchost guacd[105538]: Selected Security Scheme 1 Jan 25 04:36:29 vnchost guacd[105538]: No authentication needed Jan 25 04:36:29 vnchost guacd[105538]: VNC authentication succeeded Jan 25 04:36:29 vnchost guacd[105538]: Desktop name "vnchost:2" Jan 25 04:36:29 vnchost guacd[105538]: Connected to VNC server, using protocol version 3.8 Jan 25 04:36:29 vnchost guacd[105538]: VNC server default format: Jan 25 04:36:29 vnchost guacd[105538]: 32 bits per pixel. Jan 25 04:36:29 vnchost guacd[105538]: Least significant byte first in each pixel. Jan 25 04:36:29 vnchost guacd[105538]: TRUE colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0 Jan 25 04:36:29 vnchost guacd[105538]: Starting client Jan 25 04:36:29 vnchost guacd[105538]: client2server supported messages (bit flags) Jan 25 04:36:29 vnchost guacd[105538]: 00: 00ff 0081 0000 0000 - 0000 0000 0000 0000 Jan 25 04:36:29 vnchost guacd[105538]: 08: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:36:29 vnchost guacd[105538]: 10: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:36:29 vnchost guacd[105538]: 18: 0000 0000 0000 0000 - 0000 0000 0000 0004 Jan 25 04:36:29 vnchost guacd[105538]: server2client supported messages (bit flags) Jan 25 04:36:29 vnchost guacd[105538]: 00: 001f 0080 0000 0000 - 0000 0000 0000 0000 Jan 25 04:36:29 vnchost guacd[105538]: 08: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:36:29 vnchost guacd[105538]: 10: 0000 0000 0000 0000 - 0000 0000 0000 0000 Jan 25 04:36:29 vnchost guacd[105538]: 18: 0000 0000 0000 0000 - 0000 0000 0000 0004 Jan 25 04:36:29 vnchost guacd[105538]: Connected to Server "unknown (LibVNCServer 0.9.9)" Jan 25 04:36:29 vnchost guacd[105538]: Connection aborted Jan 25 04:36:30 vnchost guacd[105538]: Client disconnected Jan 25 04:36:30 vnchost kernel: guacd[105538]: segfault at 1000003f8 ip 00007fbfce7bdc24 sp 00007ffe0d31c990 error 4 in libguac-client-vnc.so.0.0.0[7fbfce7b2000+f000] Jan 25 04:36:30 vnchost abrt-hook-ccpp: Process 105538 (guacd) of user 0 killed by SIGSEGV - dumping core Jan 25 04:36:30 vnchost abrt-server: Executable '/usr/local/sbin/guacd' doesn't belong to any package and ProcessUnpackaged is set to 'no' Jan 25 04:36:43 vnchost guacd[105232]: Client is not responding. Jan 25 04:36:43 vnchost guacd[105232]: Client disconnected Jan 25 04:36:43 vnchost kernel: guacd[105232]: segfault at 1000003f8 ip 00007fbfce7bdc24 sp 00007ffe0d31c990 error 4 in libguac-client-vnc.so.0.0.0[7fbfce7b2000+f000] Jan 25 04:36:43 vnchost abrt-hook-ccpp: Process 105232 (guacd) of user 0 killed by SIGSEGV - ignoring (repeated crash) {code} Spring-boot application log here {code:java} 2019-01-25 12:32:58.441 DEBUG 1 --- [nio-8080-exec-6] o.a.guacamole.net.InetGuacamoleSocket : Connecting to guacd at vnchost:4832. 2019-01-25 12:32:58.961 DEBUG 1 --- [ Thread-6] .g.b.g.w.e.MyGuacamoleWebSocketEndPoint : Open tunnel on port: '5900', uuid: '2eba77c8-2f74-42a3-8ca5-4cf882ee3653' and connection_id: '$7d545e7e-0a29-40e5-a4a3-9964fa07b22b'. 2019-01-25 12:36:28.785 DEBUG 1 --- [nio-8080-exec-2] o.a.guacamole.net.InetGuacamoleSocket : Connecting to guacd at vnchost:4832. 2019-01-25 12:36:29.137 DEBUG 1 --- [ Thread-8] .g.b.g.w.e.MyGuacamoleWebSocketEndPoint : Open tunnel on port: '5902', uuid: '67446967-2e8e-42d7-9c73-68c2a80a270b' and connection_id: '$6fd98484-1dd0-4c66-aa04-6c358cd30548'. 2019-01-25 12:36:30.510 DEBUG 1 --- [ Thread-8] o.a.g.w.GuacamoleWebSocketTunnelEndpoint : Connection to guacd closed. org.apache.guacamole.GuacamoleConnectionClosedException: Connection to guacd is closed. at org.apache.guacamole.io.ReaderGuacamoleReader.read(ReaderGuacamoleReader.java:183) ~[guacamole-common-0.9.14.jar!/:na] at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint$2.run(GuacamoleWebSocketTunnelEndpoint.java:160) ~[guacamole-common-0.9.14.jar!/:na] Caused by: java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:210) ~[na:1.8.0_191] at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[na:1.8.0_191] at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) ~[na:1.8.0_191] at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[na:1.8.0_191] at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[na:1.8.0_191] at java.io.InputStreamReader.read(InputStreamReader.java:184) ~[na:1.8.0_191] at org.apache.guacamole.io.ReaderGuacamoleReader.read(ReaderGuacamoleReader.java:169) ~[guacamole-common-0.9.14.jar!/:na] ... 1 common frames omitted 2019-01-25 12:36:30.511 DEBUG 1 --- [ Thread-8] .g.b.g.w.e.MyGuacamoleWebSocketEndPoint : Close tunnel on port: '5902', uuid: '67446967-2e8e-42d7-9c73-68c2a80a270b' and connection_id: '$6fd98484-1dd0-4c66-aa04-6c358cd30548'. 2019-01-25 12:36:30.511 DEBUG 1 --- [ Thread-8] o.a.guacamole.net.InetGuacamoleSocket : Closing socket to guacd. 2019-01-25 12:36:30.627 DEBUG 1 --- [nio-8080-exec-4] o.a.g.w.GuacamoleWebSocketTunnelEndpoint : Connection to guacd closed. org.apache.guacamole.GuacamoleConnectionClosedException: Connection to guacd is closed. at org.apache.guacamole.io.WriterGuacamoleWriter.write(WriterGuacamoleWriter.java:64) ~[guacamole-common-0.9.14.jar!/:na] at org.apache.guacamole.io.WriterGuacamoleWriter.write(WriterGuacamoleWriter.java:73) ~[guacamole-common-0.9.14.jar!/:na] at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint.onMessage(GuacamoleWebSocketTunnelEndpoint.java:221) ~[guacamole-common-0.9.14.jar!/:na] at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint$1.onMessage(GuacamoleWebSocketTunnelEndpoint.java:129) [guacamole-common-0.9.14.jar!/:na] at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint$1.onMessage(GuacamoleWebSocketTunnelEndpoint.java:125) [guacamole-common-0.9.14.jar!/:na] at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:394) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:119) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:495) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:294) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:82) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148) [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54) [tomcat-embed-core-8.5.31.jar!/:8.5.31] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53) [tomcat-embed-core-8.5.31.jar!/:8.5.31] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) [tomcat-embed-core-8.5.31.jar!/:8.5.31] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468) [tomcat-embed-core-8.5.31.jar!/:8.5.31] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.31.jar!/:8.5.31] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_191] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_191] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.31.jar!/:8.5.31] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_191] Caused by: java.net.SocketException: Socket closed at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:118) ~[na:1.8.0_191] at java.net.SocketOutputStream.write(SocketOutputStream.java:155) ~[na:1.8.0_191] at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) ~[na:1.8.0_191] at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291) ~[na:1.8.0_191] at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295) ~[na:1.8.0_191] at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) ~[na:1.8.0_191] at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) ~[na:1.8.0_191] at org.apache.guacamole.io.WriterGuacamoleWriter.write(WriterGuacamoleWriter.java:58) ~[guacamole-common-0.9.14.jar!/:na] ... 22 common frames omitted {code} > Guacamole: Multiple simultaneous vnc connections over websocket close each > other > -------------------------------------------------------------------------------- > > Key: GUACAMOLE-719 > URL: https://issues.apache.org/jira/browse/GUACAMOLE-719 > Project: Guacamole > Issue Type: Bug > Components: guacd > Affects Versions: 0.9.14 > Reporter: Rui Wang > Priority: Major > > We are using guacamole to access remote desktop in web-browser. We try to use > websocket-tunnel for better performance, but if I open two tab in my browser > connecting to same vnc server with different ports through same guacd server, > one page get frozen(websocket stop send/receive any messages), the other get > error like: 776 and disconnected. And we can connect to these two vnc servers > using vnc-viewer direclty after browser vnc frozen/disconnected. > Seems guacd will abort/kill one after another. It's only happending if we use > webscoket, using httpeServlet tunnel seems do not have such probelm. > Anyone encounter similar issue? Here are my setup. > # guacamole-js was used in web side. > # We use x11vnc, guacd installed with same linux box > # We developed two endpoints use spring-boot: websocket-tunnel by extending > GuacamoleWebSocketTunnelEndpoint,http-servlet tunnel by extending > GuacamoleHTTPTunnelServlet > guacd log here: > > {code:java} > Jan 25 04:32:58 vnchost guacd[105232]: Protocol "vnc" selected > Jan 25 04:32:58 vnchost guacd[105232]: Connection ID is > "$7d545e7e-0a29-40e5-a4a3-9964fa07b22b" > Jan 25 04:32:58 vnchost guacd[105232]: VNC server supports protocol version > 3.8 (viewer 3.8) > Jan 25 04:32:58 vnchost guacd[105232]: We have 1 security types to read > Jan 25 04:32:58 vnchost guacd[105232]: 0) Received security type 1 > Jan 25 04:32:58 vnchost guacd[105232]: Selecting security type 1 (0/1 in the > list) > Jan 25 04:32:58 vnchost guacd[105232]: Selected Security Scheme 1 > Jan 25 04:32:58 vnchost guacd[105232]: No authentication needed > Jan 25 04:32:58 vnchost guacd[105232]: VNC authentication succeeded > Jan 25 04:32:58 vnchost guacd[105232]: Desktop name "vnchost:0" > Jan 25 04:32:58 vnchost guacd[105232]: Connected to VNC server, using > protocol version 3.8 > Jan 25 04:32:58 vnchost guacd[105232]: VNC server default format: > Jan 25 04:32:58 vnchost guacd[105232]: 32 bits per pixel. > Jan 25 04:32:58 vnchost guacd[105232]: Least significant byte first in each > pixel. > Jan 25 04:32:58 vnchost guacd[105232]: TRUE colour: max red 255 green 255 > blue 255, shift red 16 green 8 blue 0 > Jan 25 04:32:58 vnchost guacd[105232]: Starting client > Jan 25 04:32:58 vnchost guacd[105232]: client2server supported messages (bit > flags) > Jan 25 04:32:58 vnchost guacd[105232]: 00: 00ff 0081 0000 0000 - 0000 0000 > 0000 0000 > Jan 25 04:32:58 vnchost guacd[105232]: 08: 0000 0000 0000 0000 - 0000 0000 > 0000 0000 > Jan 25 04:32:58 vnchost guacd[105232]: 10: 0000 0000 0000 0000 - 0000 0000 > 0000 0000 > Jan 25 04:32:58 vnchost guacd[105232]: 18: 0000 0000 0000 0000 - 0000 0000 > 0000 0004 > Jan 25 04:32:58 vnchost guacd[105232]: server2client supported messages (bit > flags) > Jan 25 04:32:58 vnchost guacd[105232]: 00: 001f 0080 0000 0000 - 0000 0000 > 0000 0000 > Jan 25 04:32:58 vnchost guacd[105232]: 08: 0000 0000 0000 0000 - 0000 0000 > 0000 0000 > Jan 25 04:32:58 vnchost guacd[105232]: 10: 0000 0000 0000 0000 - 0000 0000 > 0000 0000 > Jan 25 04:32:58 vnchost guacd[105232]: 18: 0000 0000 0000 0000 - 0000 0000 > 0000 0004 > Jan 25 04:32:58 vnchost guacd[105232]: Connected to Server "unknown > (LibVNCServer 0.9.9)" > Jan 25 04:36:28 vnchost guacd[105538]: Protocol "vnc" selected > Jan 25 04:36:28 vnchost guacd[105538]: Connection ID is > "$6fd98484-1dd0-4c66-aa04-6c358cd30548" > Jan 25 04:36:29 vnchost guacd[105538]: VNC server supports protocol version > 3.8 (viewer 3.8) > Jan 25 04:36:29 vnchost guacd[105538]: We have 1 security types to read > Jan 25 04:36:29 vnchost guacd[105538]: 0) Received security type 1 > Jan 25 04:36:29 vnchost guacd[105538]: Selecting security type 1 (0/1 in the > list) > Jan 25 04:36:29 vnchost guacd[105538]: Selected Security Scheme 1 > Jan 25 04:36:29 vnchost guacd[105538]: No authentication needed > Jan 25 04:36:29 vnchost guacd[105538]: VNC authentication succeeded > Jan 25 04:36:29 vnchost guacd[105538]: Desktop name "vnchost:2" > Jan 25 04:36:29 vnchost guacd[105538]: Connected to VNC server, using > protocol version 3.8 > Jan 25 04:36:29 vnchost guacd[105538]: VNC server default format: > Jan 25 04:36:29 vnchost guacd[105538]: 32 bits per pixel. > Jan 25 04:36:29 vnchost guacd[105538]: Least significant byte first in each > pixel. > Jan 25 04:36:29 vnchost guacd[105538]: TRUE colour: max red 255 green 255 > blue 255, shift red 16 green 8 blue 0 > Jan 25 04:36:29 vnchost guacd[105538]: Starting client > Jan 25 04:36:29 vnchost guacd[105538]: client2server supported messages (bit > flags) > Jan 25 04:36:29 vnchost guacd[105538]: 00: 00ff 0081 0000 0000 - 0000 0000 > 0000 0000 > Jan 25 04:36:29 vnchost guacd[105538]: 08: 0000 0000 0000 0000 - 0000 0000 > 0000 0000 > Jan 25 04:36:29 vnchost guacd[105538]: 10: 0000 0000 0000 0000 - 0000 0000 > 0000 0000 > Jan 25 04:36:29 vnchost guacd[105538]: 18: 0000 0000 0000 0000 - 0000 0000 > 0000 0004 > Jan 25 04:36:29 vnchost guacd[105538]: server2client supported messages (bit > flags) > Jan 25 04:36:29 vnchost guacd[105538]: 00: 001f 0080 0000 0000 - 0000 0000 > 0000 0000 > Jan 25 04:36:29 vnchost guacd[105538]: 08: 0000 0000 0000 0000 - 0000 0000 > 0000 0000 > Jan 25 04:36:29 vnchost guacd[105538]: 10: 0000 0000 0000 0000 - 0000 0000 > 0000 0000 > Jan 25 04:36:29 vnchost guacd[105538]: 18: 0000 0000 0000 0000 - 0000 0000 > 0000 0004 > Jan 25 04:36:29 vnchost guacd[105538]: Connected to Server "unknown > (LibVNCServer 0.9.9)" > Jan 25 04:36:29 vnchost guacd[105538]: Connection aborted > Jan 25 04:36:30 vnchost guacd[105538]: Client disconnected > Jan 25 04:36:30 vnchost kernel: guacd[105538]: segfault at 1000003f8 ip > 00007fbfce7bdc24 sp 00007ffe0d31c990 error 4 in > libguac-client-vnc.so.0.0.0[7fbfce7b2000+f000] > Jan 25 04:36:30 vnchost abrt-hook-ccpp: Process 105538 (guacd) of user 0 > killed by SIGSEGV - dumping core > Jan 25 04:36:30 vnchost abrt-server: Executable '/usr/local/sbin/guacd' > doesn't belong to any package and ProcessUnpackaged is set to 'no' > Jan 25 04:36:43 vnchost guacd[105232]: Client is not responding. > Jan 25 04:36:43 vnchost guacd[105232]: Client disconnected > Jan 25 04:36:43 vnchost kernel: guacd[105232]: segfault at 1000003f8 ip > 00007fbfce7bdc24 sp 00007ffe0d31c990 error 4 in > libguac-client-vnc.so.0.0.0[7fbfce7b2000+f000] > Jan 25 04:36:43 vnchost abrt-hook-ccpp: Process 105232 (guacd) of user 0 > killed by SIGSEGV - ignoring (repeated crash) > {code} > Spring-boot application log here > > > {code:java} > 2019-01-25 12:32:58.441 DEBUG 1 --- [nio-8080-exec-6] > o.a.guacamole.net.InetGuacamoleSocket : Connecting to guacd at > vnchost:4832. > 2019-01-25 12:32:58.961 DEBUG 1 --- [ Thread-6] > .g.b.g.w.e.MyGuacamoleWebSocketEndPoint : Open tunnel on port: '5900', uuid: > '2eba77c8-2f74-42a3-8ca5-4cf882ee3653' and connection_id: > '$7d545e7e-0a29-40e5-a4a3-9964fa07b22b'. > 2019-01-25 12:36:28.785 DEBUG 1 --- [nio-8080-exec-2] > o.a.guacamole.net.InetGuacamoleSocket : Connecting to guacd at > vnchost:4832. > 2019-01-25 12:36:29.137 DEBUG 1 --- [ Thread-8] > .g.b.g.w.e.MyGuacamoleWebSocketEndPoint : Open tunnel on port: '5902', uuid: > '67446967-2e8e-42d7-9c73-68c2a80a270b' and connection_id: > '$6fd98484-1dd0-4c66-aa04-6c358cd30548'. > 2019-01-25 12:36:30.510 DEBUG 1 --- [ Thread-8] > o.a.g.w.GuacamoleWebSocketTunnelEndpoint : Connection to guacd closed. > org.apache.guacamole.GuacamoleConnectionClosedException: Connection to guacd > is closed. > at > org.apache.guacamole.io.ReaderGuacamoleReader.read(ReaderGuacamoleReader.java:183) > ~[guacamole-common-0.9.14.jar!/:na] > at > org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint$2.run(GuacamoleWebSocketTunnelEndpoint.java:160) > ~[guacamole-common-0.9.14.jar!/:na] > Caused by: java.net.SocketException: Connection reset > at java.net.SocketInputStream.read(SocketInputStream.java:210) > ~[na:1.8.0_191] > at java.net.SocketInputStream.read(SocketInputStream.java:141) > ~[na:1.8.0_191] > at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) > ~[na:1.8.0_191] > at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) > ~[na:1.8.0_191] > at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) > ~[na:1.8.0_191] > at java.io.InputStreamReader.read(InputStreamReader.java:184) > ~[na:1.8.0_191] > at > org.apache.guacamole.io.ReaderGuacamoleReader.read(ReaderGuacamoleReader.java:169) > ~[guacamole-common-0.9.14.jar!/:na] > ... 1 common frames omitted > 2019-01-25 12:36:30.511 DEBUG 1 --- [ Thread-8] > .g.b.g.w.e.MyGuacamoleWebSocketEndPoint : Close tunnel on port: '5902', uuid: > '67446967-2e8e-42d7-9c73-68c2a80a270b' and connection_id: > '$6fd98484-1dd0-4c66-aa04-6c358cd30548'. > 2019-01-25 12:36:30.511 DEBUG 1 --- [ Thread-8] > o.a.guacamole.net.InetGuacamoleSocket : Closing socket to guacd. > 2019-01-25 12:36:30.627 DEBUG 1 --- [nio-8080-exec-4] > o.a.g.w.GuacamoleWebSocketTunnelEndpoint : Connection to guacd closed. > org.apache.guacamole.GuacamoleConnectionClosedException: Connection to guacd > is closed. > at > org.apache.guacamole.io.WriterGuacamoleWriter.write(WriterGuacamoleWriter.java:64) > ~[guacamole-common-0.9.14.jar!/:na] > at > org.apache.guacamole.io.WriterGuacamoleWriter.write(WriterGuacamoleWriter.java:73) > ~[guacamole-common-0.9.14.jar!/:na] > at > org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint.onMessage(GuacamoleWebSocketTunnelEndpoint.java:221) > ~[guacamole-common-0.9.14.jar!/:na] > at > org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint$1.onMessage(GuacamoleWebSocketTunnelEndpoint.java:129) > [guacamole-common-0.9.14.jar!/:na] > at > org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint$1.onMessage(GuacamoleWebSocketTunnelEndpoint.java:125) > [guacamole-common-0.9.14.jar!/:na] > at > org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:394) > [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] > at > org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:119) > [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] > at > org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:495) > [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] > at > org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:294) > [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] > at > org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133) > [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] > at > org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:82) > [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] > at > org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171) > [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] > at > org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151) > [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] > at > org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148) > [tomcat-embed-websocket-8.5.31.jar!/:8.5.31] > at > org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54) > [tomcat-embed-core-8.5.31.jar!/:8.5.31] > at > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53) > [tomcat-embed-core-8.5.31.jar!/:8.5.31] > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) > [tomcat-embed-core-8.5.31.jar!/:8.5.31] > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468) > [tomcat-embed-core-8.5.31.jar!/:8.5.31] > at > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) > [tomcat-embed-core-8.5.31.jar!/:8.5.31] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [na:1.8.0_191] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [na:1.8.0_191] > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > [tomcat-embed-core-8.5.31.jar!/:8.5.31] > at java.lang.Thread.run(Thread.java:748) [na:1.8.0_191] > Caused by: java.net.SocketException: Socket closed > at > java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:118) > ~[na:1.8.0_191] > at java.net.SocketOutputStream.write(SocketOutputStream.java:155) > ~[na:1.8.0_191] > at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) > ~[na:1.8.0_191] > at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291) > ~[na:1.8.0_191] > at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295) > ~[na:1.8.0_191] > at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) > ~[na:1.8.0_191] > at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) > ~[na:1.8.0_191] > at > org.apache.guacamole.io.WriterGuacamoleWriter.write(WriterGuacamoleWriter.java:58) > ~[guacamole-common-0.9.14.jar!/:na] > ... 22 common frames omitted > {code} > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)