Subject: x2goclient: resuming "running" session fails

From: Ezra Bühler <[email-masked]>
Date: Wed, 16 Jan 2013 14:46:27 +0100

Package: x2goclient

Since commit 3335fca16afaa0792207228115e31630894dee71

(X2Go resume session slot: double click on a selected session is supposed to resume that session. To make this feature functional for running sessions the session has to be suspended first.)

resuming a "running" session (by double clicking it) is no longer possible unless you press suspend first. On Linux I get following error:

"channel_open_session failed" :  "Received SSH_MSG_DISCONNECT: 33554432:Received ieof for nonexistent channel 0." 

I am used to closing the client without explicitly suspending the session. This leaves the session marked as "running". When I start up the client again I want to be able to resume the session with the least effort as possible. In my opinion the right way to achieve this behavior would be to suspend the session when the client quits.

In my opinion simply restoring the behavior we had prior to 3335fc... would be wrong. Because when trying to resume a "running" session the "resume" button in the session dialog dialog would not be active, but resuming by double clicking still possible, which I find misleading.

Here the complete transcript of an attempt to resume a running session:

read  1  sessions from config file 
start new ssh connection to server: "my.host.ch" : "22" krb:  false 

ssh connection ok 

continue normal x2go session 

Agent output: "gr_port=30127
sound_port=30128
fs_port=30129
" 
new gr_port:  "30127" 

new sound_port:  "30128" 

new fs_port:  "30129" 

starting nxproxy with:  "nxproxy -S nx/nx,options=/home/easyb/.x2go/S-easyb-90-1358245865_stDxterm_dp32/options:90" 

"
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 '3771'.
" 

"Session: Starting session at 'Tue Jan 15 15:19:09 2013'.
Info: Connecting to remote host 'localhost:31127'.
Info: Connection to remote proxy 'localhost:31127' established.
" 

"channel_write failed"  -  "Remote channel is closed" 

"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 'Tue Jan 15 15:19:09 2013'.
" 

"Session: Session terminated at 'Tue Jan 15 15:19:09 2013'.
" 

deleting proxy 

nxproxy not running 

proxy deleted 

checking exit status 
check command message 

"channel_open_session failed" :  "Received SSH_MSG_DISCONNECT: 33554432:Received ieof for nonexistent channel 0."

Cheers,
Ezra.

---

From: Mike Gabriel <[email-masked]>
Date: Thu, 17 Jan 2013 00:40:37 +0100

Hi Ezra,

> Since commit 3335fca16afaa0792207228115e31630894dee71

there was a follow-up commit to the one you quote:

http://code.x2go.org/gitweb?p=x2goclient.git;a=commitdiff;h=a2d95c0c106923162bb510c88806b7384786b97d

> (X2Go resume session slot: double click on a selected session is  
> supposed to resume that session. To make this feature functional for  
> running sessions the session has to be suspended first.)
>
> resuming a "running" session (by double clicking it) is no longer  
> possible unless you press suspend first. On Linux I get following  
> error:
>
> "channel_open_session failed" :  "Received SSH_MSG_DISCONNECT:  
> 33554432:Received ieof for nonexistent channel 0."
>
> I am used to closing the client without explicitly suspending the  
> session. This leaves the session marked as "running". When I start  
> up the client again I want to be able to resume the session with the  
> least effort as possible. In my opinion the right way to achieve  
> this behavior would be to suspend the session when the client quits.

Unless you shoot the client with kill -9 it should indeed run  
x2gosuspend-session on the server before quitting. I would consider  
that as a minor bug, as well.

> In my opinion simply restoring the behavior we had prior to  
> 3335fc... would be wrong. Because when trying to resume a "running"  
> session the "resume" button in the session dialog dialog would not  
> be active, but resuming by double clicking still possible, which I  
> find misleading.

Double clicking the session should work. So should the resume button.  
Resuming of a running session should be a sequence of  
x2gosuspend-session call on the server and then a x2goresume-session  
call for that same session. Between the two calls you need some time  
for the session to change its state (couple of secs).

> [...]

If you could come up with a patch, that would be really helpful. The  
last patch you sent was accepted. So will be a follow-up patch (at  
least it's very likely!!!).

> Ezra.

Greets,
Mike

-- 

DAS-NETZWERKTEAM
mike gabriel, rothenstein 5, 24214 neudorf-bornstein
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: [email-masked], http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb