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)