gnome flashback session fails to end on logout in Trusty

Bug #1450279 reported by Chris Good
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
gnome-session (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

On logout, the window changes to a blank purple screen and never closes.
All the processes are still running.

This is a big problem because in Trusty, Unity needs hardware acceleration, so you cannot use Unity in any remote access scenario (like using windows remote desktop to access a VMware vSphere Ubuntu Trusty vm with xrdp) where hardware acceleration is not available.
Many people are trying to use alternative desktops, like gnome-flashback or xfce (xfce seems to have too many downsides in this situation for me).

This is a follow on from https://bugs.launchpad.net/ubuntu/+source/gnome-session/+bug/1251281 where gnome-session-flashback was modified to accept a new flag (--disable-acceleration-check) so that a gnome flashback session could be started.
Thanks to the patch for 1251281 we can now run gnome flashback but it doesn't logout properly, which makes it unusable.

Environment:
Ubuntu 14.04.2 LTS (up to date)
gnome-session-flashback 1:3.8.0-1ubuntu12.2
gnome-session 3.9.90-0ubuntu12.1

~/.xsession :
 gnome-session --session=gnome-flashback --disable-acceleration-check

Using Windows 7 Remote Desktop to connect to Ubuntu vm.
Login to xrdp using module sesman-Xvnc

 I have attached the ~/.xsession-errors file.

Tags: trusty
Revision history for this message
Chris Good (chris-good) wrote :
Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :

Can you attach .xsession-errors running gnome-session with --debug?

Login, try to logout and then copy .xsession-errors file. It might show some info why it fails to logout.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gnome-session (Ubuntu):
status: New → Confirmed
Revision history for this message
Chris Good (chris-good) wrote :

Hi Alberts,
I have changed ~/.xsession to :
gnome-session --session=gnome-flashback --disable-acceleration-check --debug
and attached the resulting ~/.xsession-errors (xsession-errors20150501)

I removed:
export DESKTOP_SESSION="gnome-fallback"
export XDG_CURRENT_DESKTOP="Unity"
which you suggested in bug 1251281. If you'd like to see the --debug output with those settings included, please let me know.

I saw there are some suspicious msgs in xsession-errors20150501 that made me think dropbox may be the problem.
So I did the test again as a different user (tims) which does not use dropbox. Unfortunately, the seesion still hangs on logout.
The debug xsession errors for that test are attached as xsession-errors-tims-nodropbox.

Thanks very much for your help. Please let me know if I can do anything else.

Revision history for this message
Chris Good (chris-good) wrote :
Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :

Can you test with Ubuntu 15.04? Just to know if this is problem in newer versions too.

What do you mean with all processes still running? From .xsession-errors files looks like programs are closed:
App gnome-panel.desktop exited successfully
App unity-settings-daemon.desktop exited successfully
App metacity.desktop exited successfully
...

Maybe problem is somewhere else? Can you post screenshot / image with that purple screen? What should happen when logging out?

Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :

1. Can not reproduce with Ubuntu 15.04 in virtualbox and Ubuntu 15.10 on real hardware.

Installed xrdp and added this to ~/.xsession:
export XDG_CURRENT_DESKTOP="GNOME-Flashback:Unity"
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check --debug &> test.log

2. Tried to reproduce with Ubuntu 14.04 in virtualbox, but after logging in something is crashing and session is closed.

Installed xrdp and added this to ~/.xsession:
export XDG_CURRENT_DESKTOP="Unity"
gnome-session --session=gnome-flashback --disable-acceleration-check --debug &> test.log

Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :

Ok, I was able to login in 14.04 and can confirm this issue. But gnome-session did exit on logout so problem is somewhere else.

"WARNING: Could not get session id for session. Check that logind is properly installed and pam_systemd is getting used at login."
I think that above warning is reason why session does not end fully.

I might have found workaround:
1. sudo service xrdp stop
2. sudo service xrdp start

And now I was able to login and logout without problems.

Sorry, I don't know how to fix this problem.

Revision history for this message
Chris Good (chris-good) wrote :

Hi Alberts,

Good work! I was also able to connect and logout multiple times after restarting xrdp (sudo service xrdp restart).
All the processes end properly and the rdp window closes.

Now if we can just figure out what is different after restarting xrdp compared to how it is after system boot...

Revision history for this message
Chris Good (chris-good) wrote :

Note also: problem comes back after system boot until you restart xrdp again.

Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :

Since this works in Ubuntu 15.04 I tried to install newer xrdp version from 15.04 in 14.04, but that did not change anything so I would say this is not bug in xrdp package. Also this is not problem in gnome-session.

Dmitry: do you know what could cause that warning? Maybe you know someone who could help?

Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :

When logout does not work then each login increase session id - XDG_SESSION_ID returns c3, c4 and so on. When logout works (after restarting xrdp) then XDG_SESSION_ID == c2 even logging in multiple times.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.