Bug#776746: gnome-session: GNOME crashes during a remote desktop access

Simon McVittie smcv at debian.org
Sun Mar 8 16:43:19 UTC 2015


retitle 776746 gnome-session: "Oh no! Something has gone wrong" when Composite extension is absent from X server

On Sun, 01 Feb 2015 at 14:58:10 +0800, GGaotx wrote:
> Suppose you installed GNOME as default DE and also with xrdp installed, when
> trying to use another computer to visit it by remote access(RDP or VNC),then
> GNOME crashes:
> "Oh, no! Something has gone wrong."

Nothing is actually crashing, although the user-visible symptom is the same.

Steps to reproduce:

* install jessie with only the GNOME desktop (I used a virtual machine)
* apt-get install xrdp
* connect an RDP client to the machine (I used Vinagre)
* accept the default Module, "sesman-Xvnc"; enter a valid username
  and password, e.g. the one created by the installer

You get the "Oh no!" screen as described.

~/.xsession-errors indicates why:

    Xsession: X session started for  at Sun  8 Mar 16:27:54 GMT 2015
    X Error of failed request:  BadValue (integer parameter out of range for operation)
      Major opcode of failed request:  109 (X_ChangeHosts)
      Value in failed request:  0x5
      Serial number of failed request:  6
      Current serial number in output stream:  8
    localuser:smcv being added to access control list
    openConnection: connect: No such file or directory
    cannot connect to brltty at :0
    gnome-session-is-accelerated: No composite extension.
    gnome-session-check-accelerated: Helper exited with code 256
    gnome-session-is-accelerated: No composite extension.
    gnome-session-check-accelerated: Helper exited with code 256
    
    ** (process:2235): WARNING **: software acceleration check failed: Child process exited with code 1

GNOME Shell is a compositing window manager. It requires the Composite
extension, and cannot operate on a display that does not have it,
regardless of whether it is provided by software rendering or 3D hardware
or what. If Xvnc does not have that extension then GNOME Shell cannot work.

There are several bugs here. IMO none of them is really RC:

* gnome-session should put different text on the "oh no!" message
  if the problem is really "your X server is not sufficiently capable to
  run GNOME"

* xrdp should allow session-selection, so remote users can select
  a non-compositing environment like LXDE or XFCE even if GNOME is
  the default

* xrdp, or whatever Xserver it uses behind the scenes (Xvnc?), should
  support the Composite extension

> When trying to use MATE as default DE, it works as it should.

mate's window manager is marco, which I think is a fork of GNOME 2's
Metacity. Metacity is *optionally* a compositing window manager, but
can also run as a traditional non-compositing window manager,
so the absence of the Composite extension is non-fatal

> Cinnamon also
> crashes, but soft rendering works.

cinnamon's (default?) window manager is muffin, which I believe is a fork
of mutter, a compositing window manager which does not support
non-composited operation (GNOME Shell uses Mutter libraries for its
window-manager and compositing-manager functionality).

    S



More information about the pkg-gnome-maintainers mailing list