Package: x2goserver Version: 4.0.15-0~847
(x2goserver: 4.0.15-0~847~~ubuntu12.04.1 on Ubuntu Linux 12.04.4 LTS kernel 3.8.0-39-generic, x2goclient: 4.0.15-0~847~ubuntu14.04.1 on Ubuntu Linux 14.04 LTS kernel 3.14.3-031403-generic) Please note: I have labelled package x2goserver, but the bug is displayed on x2goclient even though I *think* the bug is in the server somewhere (see below).
Sometimes after an abrupt (e.g. CTRL-C, probably also network failure or laptop sleep/wake cycle) termination of x2goclient, I cannot reconnect to the server. I get errors such as the dreaded "Failure negotiating the session in stage '7'." and "Error: Wrong version or invalid session authentication cookie." instead.
I am connecting through a proxy using ssh key-based authentication (using "Try auto-login" with "ssh-agent or default ssh key" on the proxy, although switching to password made no difference). I can connect with ssh through the proxy with no problem. I can *start* an x2go session with no problem. I can restart a session with no problem *provided I cleanly exit x2goclient* (e.g. by clicking on the close button on the window). If I exit x2goclient with a CTRL-C in the terminal, I cannot connect again. Note that I can connect to an NX session through the proxy without any problem and this does not have the same problem when CTRL-C.
Steps to repeat: the GUI):
NXPROXY - Version 3.5.0
Copyright (C) 2001, 2010 NoMachine.
At this point the CPU usage of x2goclient jumps to 100% and I have to kill it (although the GUI continues to respond). This is just a minor annoyance at the moment.
And in .x2go/SESSION_ID/sessions on the client, similar warnings:
The server clearly detects the disconnect in its session.log, followed by “Display failure detected” errors on attempted reconnect:
running as X2Go Agent
NXAGENT - Version 3.5.0
Copyright (C) 2001, 2011 NoMachine.
See http://www.nomachine.com/ for more information.
In .x2go/C-SESSION_ID/session.log on the server, I now have the following text repeated over and over:
Session: Suspending session at 'Fri May 9 15:08:49 2014'. [then hundreds or thousands of times, with later timestamps]
The problem appears to be with the file /var/lib/x2go/x2go_sessions on the server. If I back this up *before* hitting CTRL-C on the client, then do the CTRL-C, then reinstate the backup, I can restart the session with no problems. Clearly this is beyond the ability of a normal user (without root on the server) and is not really a fix, even if it does work.
It seems that there is a problem with the x2go_sessions file on the server being corrupted in some way when the remote session is abruptly disconnected. This is a failure bad enough for me to stop using x2go and go back to NX.
Backing up this file all the time is not an option.
Deleting this file and continuing, as suggested at http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=323, is not an option.
Note that unlink suggested in http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=323, there is no *server* crash.
I have tried the other options at http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=323, none apply here (e.g. permissions are fine).
The action that precipitates the problem is on the *client* side.
Note also that the network itself is not at fault: I can connect from a laptop in the same office (but on a different subnet) as the server, or from home to the proxy server direct. Same problem.
This seems similar to http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=101 but the fixes are more than a year ago and presumably (?) are in the latest x2goclient already.
No amount of calls to x2gosuspend-session or x2goresume-session on the appropriate session makes any difference.
If I suspend the session with x2gosuspend-session, attempting to connect *does* set the session into the “Running” state (just as x2goresume-session). The error seems to occur after this.
Thanks for all your help x2go team, I hope we can fix this because I'd like to recommend x2go for my colleagues.
Rob
Hi Robert,
On Fr 09 Mai 2014 15:24:10 CEST, Robert Izzard wrote:
Package: x2goserver Version: 4.0.15-0~847
(x2goserver: 4.0.15-0~847~~ubuntu12.04.1 on Ubuntu Linux 12.04.4 LTS
kernel 3.8.0-39-generic, x2goclient: 4.0.15-0~847~ubuntu14.04.1 on Ubuntu Linux 14.04 LTS
kernel 3.14.3-031403-generic) Please note: I have labelled package x2goserver, but the bug is
displayed on x2goclient even though I *think* the bug is in the
server somewhere (see below).Sometimes after an abrupt (e.g. CTRL-C, probably also network failure or laptop sleep/wake cycle) termination of x2goclient, I cannot reconnect to the server. I get errors such as the dreaded "Failure negotiating the session in stage '7'." and "Error: Wrong version or invalid session authentication cookie." instead.
I am connecting through a proxy using ssh key-based authentication (using "Try auto-login" with "ssh-agent or default ssh key" on the proxy, although switching to password made no difference). I can connect with ssh through the proxy with no problem. I can *start* an x2go session with no problem. I can restart a session with no problem *provided I cleanly exit x2goclient* (e.g. by clicking on the close button on the window). If I exit x2goclient with a CTRL-C in the terminal, I cannot connect again. Note that I can connect to an NX session through the proxy without any problem and this does not have the same problem when CTRL-C.
Steps to repeat: the GUI):
- On the client, open a new desktop on the server using x2goclient. (I am running KDE but I doubt it matters).
- On the client, press CTRL-C to stop x2goclient.
- On the client, try to reconnect -- it fails with errors (which are very hard to copy-paste as they go so fast, this is a bug in
NXPROXY - Version 3.5.0
Copyright (C) 2001, 2010 NoMachine.
See http://www.nomachine.com/ for more information. Info: Proxy running in client mode with pid '7219'. Session: Starting session at 'Thu May 8 17:33:51 2014'. Info: Connecting to remote host 'localhost:31007'. Info: Connection to remote proxy 'localhost:31007' established. Error: The remote NX proxy closed the connection. Error: Failure negotiating the session in stage '7'. Error: Wrong version or invalid session authentication cookie. Session: Terminating session at 'Thu May 8 17:33:51 2014'. Session: Session terminated at 'Thu May 8 17:33:51 2014'.
At this point the CPU usage of x2goclient jumps to 100% and I have to kill it (although the GUI continues to respond). This is just a minor annoyance at the moment.
And in .x2go/SESSION_ID/sessions on the client, similar warnings:
Loop: PANIC! No shutdown of proxy link performed by remote proxy. Loop: PANIC! The remote NX proxy closed the connection. Loop: PANIC! Failure negotiating the session in stage '7'. Loop: PANIC! Wrong version or invalid session authentication cookie.
The server clearly detects the disconnect in its session.log, followed by “Display failure detected” errors on attempted reconnect:
running as X2Go Agent
NXAGENT - Version 3.5.0
Copyright (C) 2001, 2011 NoMachine.
See http://www.nomachine.com/ for more information.
Info: Agent running with pid '17414'. Session: Starting session at 'Fri May 9 14:44:26 2014'. Info: Proxy running in server mode with pid '17414'. Info: Waiting for connection from 'localhost' on port '30004'. Info: Accepted connection from '127.0.0.1'. Info: Connection with remote proxy completed. Info: Using ADSL link parameters 512/24/1/0. Info: Using agent parameters 5000/10/50/0/0. Info: Using cache parameters 4/4096KB/8192KB/8192KB. Info: Using pack method '16m-png-9' with session 'unix-kde-depth_24'. Info: Using ZLIB data compression 1/1/32. Info: Using ZLIB stream compression 4/4. Info: No suitable cache file found. Info: Listening to X11 connections on display ':51'. Info: Established X client connection. Info: Using shared memory parameters 1/1/1/2048K. Info: Using alpha channel in render extension. Info: Not using local device configuration changes. keyboard file created SessionPath not defined Session: Session started at 'Fri May 9 14:44:27 2014'. Error: Failure reading from the peer proxy. Error: Connection with remote peer broken. Error: Please check the state of your network and retry. Session: Display failure detected at 'Fri May 9 14:44:44 2014'. Session: Suspending session at 'Fri May 9 14:44:44 2014'. Session: Session suspended at 'Fri May 9 14:44:44 2014'. Session: Resuming session at 'Fri May 9 14:45:11 2014'. Info: Proxy running in server mode with pid '17414'. Info: Waiting for connection from 'localhost' on port '30004'. Info: Aborting the procedure due to signal '1'. Session: Display failure detected at 'Fri May 9 14:45:27 2014'. Session: Suspending session at 'Fri May 9 14:45:27 2014'. Session: Session suspended at 'Fri May 9 14:45:27 2014'.
In .x2go/C-SESSION_ID/session.log on the server, I now have the following text repeated over and over:
Session: Suspending session at 'Fri May 9 15:08:49 2014'. [then hundreds or thousands of times, with later timestamps]
The problem appears to be with the file /var/lib/x2go/x2go_sessions on the server. If I back this up *before* hitting CTRL-C on the client, then do the CTRL-C, then reinstate the backup, I can restart the session with no problems. Clearly this is beyond the ability of a normal user (without root on the server) and is not really a fix, even if it does work.
It seems that there is a problem with the x2go_sessions file on the server being corrupted in some way when the remote session is abruptly disconnected. This is a failure bad enough for me to stop using x2go and go back to NX.
Backing up this file all the time is not an option.
Deleting this file and continuing, as suggested at http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=323, is not an option.
Note that unlink suggested in http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=323, there is no *server* crash.
I have tried the other options at http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=323, none apply here (e.g. permissions are fine).
The action that precipitates the problem is on the *client* side.
Note also that the network itself is not at fault: I can connect from a laptop in the same office (but on a different subnet) as the server, or from home to the proxy server direct. Same problem.
This seems similar to http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=101 but the fixes are more than a year ago and presumably (?) are in the latest x2goclient already.
No amount of calls to x2gosuspend-session or x2goresume-session on the appropriate session makes any difference.
If I suspend the session with x2gosuspend-session, attempting to connect *does* set the session into the “Running” state (just as x2goresume-session). The error seems to occur after this.
Thanks for all your help x2go team, I hope we can fix this because I'd like to recommend x2go for my colleagues.
This is all very interesting!!!!
Can you please check one more thing? If the connection failure occurs:
leave the sessions db file as it is, but restart the server's SSH
daemon and try to resume then.
Does that also solve the resumption problem?
DAS-NETZWERKTEAM mike gabriel, herweg 7, 24357 fleckeby fon: +49 (1520) 1976 148
GnuPG Key ID 0x25771B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
Hi Robert,
On Fr 09 Mai 2014 15:24:10 CEST, Robert Izzard wrote:
Steps to repeat: the GUI):
- On the client, open a new desktop on the server using x2goclient. (I am running KDE but I doubt it matters).
- On the client, press CTRL-C to stop x2goclient.
- On the client, try to reconnect -- it fails with errors (which are very hard to copy-paste as they go so fast, this is a bug in
[...]
In .x2go/C-SESSION_ID/session.log on the server, I now have the following text repeated over and over:
Session: Suspending session at 'Fri May 9 15:08:49 2014'. [then hundreds or thousands of times, with later timestamps]
The above made me curious once more...
I have looked at the X2Go Server code that detects running, suspended
and terminated sessions from NX session.log and I added several fixes
[1, 2].
Similar fixes are available on the 4.0.1.x release branch [3], as well.
Do you think you can patch your X2Go Server installation and verify if
the behaviour improves with those fixes? Here I was not able to resume
a session several times, but now it works (with the same session).
Greets, Mike
[1]
http://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=59a4c563dcc0589c...
[2]
http://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=4c72b8a242b54f46...
[3]
http://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;hp=618505bdc73006b...
--
DAS-NETZWERKTEAM mike gabriel, herweg 7, 24357 fleckeby fon: +49 (1520) 1976 148
GnuPG Key ID 0x25771B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...