You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@guacamole.apache.org by "Nick Couchman (Jira)" <ji...@apache.org> on 2020/05/24 21:24:00 UTC
[jira] [Commented] (GUACAMOLE-1077) guacd sending invalid
instructions causing disconnect
[ https://issues.apache.org/jira/browse/GUACAMOLE-1077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17115505#comment-17115505 ]
Nick Couchman commented on GUACAMOLE-1077:
------------------------------------------
[~nill]: Thanks for the report. Can you capture logs from guacd during the occurrence? Having a script that produces the issue is of some use, but it'd be much better to capture what is happening under normal Guacamole Client -> Guacamole Server circumstances that results in ab-end behavior.
> guacd sending invalid instructions causing disconnect
> ------------------------------------------------------
>
> Key: GUACAMOLE-1077
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-1077
> Project: Guacamole
> Issue Type: Bug
> Components: guacamole-server
> Affects Versions: 1.1.0
> Reporter: Jake Coffman
> Priority: Minor
>
> I noticed occasionally that using the guacamole session sharing feature that I and others would get immediately disconnected after connecting to an existing session. I wrote a script that reproduces the issue within a minute or two (although sometimes it happens right away).
> See this repo for the code: [https://github.com/jakecoffman/guacd-bug]
> I believe the issue is guacd is sending an invalid instruction because the error seen is {{Connection to guacd terminated abnormally: Element terminator of instruction was not ';' nor ','}}
> Steps to reproduce the issue:
> * Start guacd {{docker run --name guacd -it --rm -p 4822:4822 guacamole/guacd}}
> * Start postgres {{docker run --name some-postgres -e POSTGRES_PASSWORD=pw -e POSTGRES_USER=postgres -e POSTGRES_DB=guacamole_db -p 5432:5432 -d postgres}}
> * Generate init.db {{docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --postgres > initdb.sql}}
> * Run initdb.sql on guacamole_db database
> * Start guacamole client {{docker run --name my-guac --link guacd:guacd --link some-postgres:postgres -e POSTGRES_DATABASE=guacamole_db -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=pw -p 8080:8080 guacamole/guacamole}}
> * Connect [http://localhost:8080/guacamole/#/]
> * Login with guacadmin/guacadmin
> * Configure an RDP session as usual, but be sure to set Maximum connections to 100 and Maximum per user to 100 too.
> * Save and go Home
> * Click on the connection to start the first connection
> * In a new window/browser login to guacamole and go to settings
> * Under active sessions you should see your other active session. Open developer tools and then click on the Connection Name link to connect to it.
> * Copy the websocket connection from the network tab and paste it into the Go script (replace url).
> * Also grab the Cookie header and paste it in the script (replace cookie).
> * Start the script {{go run main.go}}
> * You should see "Diaing 0" etc for a while, sometimes it happens right away sometimes it takes a long time.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)