Bug 477436

Summary: xrdp disconnected sessions
Product: [openSUSE] openSUSE 11.1 Reporter: James Mason <james>
Component: X11 ApplicationsAssignee: David Reveman <dreveman>
Status: RESOLVED NORESPONSE QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P2 - High CC: amcomp, code, james, lchiquitto
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 11.1   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: xrdp-sesman log

Description James Mason 2009-02-18 21:31:16 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.6) Gecko/2009012700 SUSE/3.0.6-0.1.2 Firefox/3.0.6 Ubiquity/0.1.5

When connected to xrdp via Xdmx, if the session terminates abnormally (such as the user closing the rdesktop window), the session remains active, sort of.

The user cannot log in again via Xdmx, presumable because the Xfake process is still running.

Sesman does not reconnect the user to the running X session.

Reproducible: Always

Steps to Reproduce:
Login to a Xdmx-enable session, via rdesktop.
Close the rdesktop window.
Attempt to login again with the same credentials to the same type of session.
"Login Failed"
Actual Results:  
xrdp-sesman.log shows:
[20090218-13:11:31] [CORE ] X server running - user jammason - pid 4590
[20090218-13:11:31] [INFO ] starting xrdp-sessvc - xpid=4590 - wmpid=4599
[20090218-13:11:31] [INFO ] session 4589 - user jammason - terminated
[20090218-13:11:57] [INFO ] shutting down sesman 1
[20090218-13:12:22] [WARN ] [init:45] libscp initialized
[20090218-13:12:22] [CORE ] starting sesman with pid 4763
[20090218-13:12:22] [INFO ] listening...
[20090218-13:12:57] [INFO ] granted TS access to user jammason
[20090218-13:12:57] [INFO ] starting Xdmx session...
[20090218-13:12:57] [CORE ] error X server died - user jammason - pid 4772

#> ps ax|grep X
 4590 pts/1    S      0:00 Xdmx :10 -auth /tmp/.Xdmx-auth-hAdDlH -br -nolisten tcp -- /usr/bin/Xfake
 

Expected Results:  
Either reconnect to existing session, or have the old Xfake killed when the session disconnects.
Comment 1 David Reveman 2009-02-24 20:48:55 UTC
I just fixed bug 479149 (Xfake left around after abnormal termination of Xdmx), which should fix the problem with the Xfake process still running.

However, i'm not sure what you mean by "if the session terminates abnormally (such as the user closing the rdesktop window)". The user should always be able to close the rdesktop window without having the remote session closed, anything else happening is a bug.
Comment 2 Ahmed Samir 2009-08-22 08:36:40 UTC
I also have this problem. Session disconnects after 3-4 minutes for no apparent reason. Cannot establish another connection unless rcxrdp is restarted.
Comment 3 James Mason 2009-09-04 20:46:54 UTC
Created attachment 316868 [details]
xrdp-sesman log
Comment 4 James Mason 2009-09-04 20:47:37 UTC
Okay, I've been able to nail the issue down a bit more.  If multiple clients are connected to xrdp, only the last connected client (with the highest-numbered X session) can disconnect and reconnect.

For example:

Given Only Station1 is connected
When Station1 disconnects
Then Station1 can reconnect.

Given Station2 is connected
When Station2 disconnects
Then Station2 can reconnect.

Given Station1 is connected, then Station2 connects.
When Station1 disconnects
Then Station1 cannot reconnect (Login failed)
When Station2 disconnects
Then Station1 and Station2 can reconnect.

I'll attach a log file from xrdp-sesman -n showing this behavior.  The usernames that flip-flop are yps_p03 and yps04, on displays 11 and 12.
Comment 5 Anton Grachov 2009-09-18 08:22:48 UTC
the same thing in opensuse 11.1 with xrdp from OSS repository:

login1 - success on display :10
login2 - success on display :11
disconnect login1, login2 continue working on display :11
try to login with any credentials (except login2) - it fails because try to login on display :11
try to login with login2 credentials - we have 2 same sinchronous sessions.
Comment 6 Larry Finger 2011-04-04 02:53:38 UTC
The version with which you had the bug is now obsolete. I'll close this as NORESPONSE. If you can still reproduce it in current 11.4, please reopen the bug and move it to the appropriate version. Thanks!