Web lists-archives.com

gmd3 fails to open X sessions on the console and on X servers using xdmcp (stretch 9.1)




Hello,
A few months ago I met no difficulties to configure our debian Wheezy server to manage X sessions with gdm3, on the console and on a set of X servers (Windows PC with Cygwin/X) using xdmcp. I was unable to retrieve this functionality after a dist-upgrade to Jessie (cf. https://lists.debian.org/debian-user/2016/10/msg00437.html), and astonished by the lack of advices from this forum and other channels. I hoped that Stretch could permit me to retrieve it. The dist-upgrade from Jessie to Stretch was perfect but let unsolved our problems with gdm3. May be does it work on a fresh install ? On my upgraded server it doesn't and I fail to progress. I don't know whether the problems are due to wrong file permissions somewhere, wrong values for some parameters, or to problems on which I can't get a grip on, or even to the gdm3 package. They probably are not the same for the console and the xdmcp requests. Sorry for this long email. You may find more details on https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=873199.
Any advices and ideas are welcome!

1. For the console

The server reboots without any error and finishes with a last message telling that GNOME Display Manager has started but nothing else is displayed (no greeter, no prompt). I have to type Alt-Ctrl-F3 (or F4, F5, F6) to get a login prompt on tty3 and open a terminal on the console. I can also connect with ssh -X from other Linux workstations.

In /var/log/messages the first errors during the reboot could let think to problems between gdm and cgmanager: Aug 22 18:38:50 my_stretch_server udev-acl.ck[4355]: g_slice_set_config: assertion 'sys_page_size == 0' failed Aug 22 18:38:50 my_stretch_server udev-acl.ck[4433]: g_slice_set_config: assertion 'sys_page_size == 0' failed Aug 22 18:38:50 my_stretch_server gdm-session-worker[3909]: Failed opening dbus connection: org.freedesktop.DBus.Error.FileNotFound: Failed to connect to socket /sys/fs/cgroup/cgmanager/sock: Aucun fichier ou dossier de ce type (No such file or directory with this type) Aug 22 18:38:51 my_stretch_server /usr/lib/gdm3/gdm-wayland-session[4434]: Activating service name='org.freedesktop.systemd1' Aug 22 18:38:51 my_stretch_server systemd-shim[4519]: Could not connect to cgmanager: Could not connect: No such file or directory Aug 22 18:38:51 my_stretch_server systemd-shim[4519]: Unable to acquire bus name 'org.freedesktop.systemd1'. Quitting.

Then a loop with the same sequence of errors until the final relief ('too many opened files'):

Aug 22 18:40:58 my_stretch_server /usr/lib/gdm3/gdm-wayland-session[22118]: Unable to register display with display manager Aug 22 18:40:58 my_stretch_server gdm-session-worker[22107]: Failed opening dbus connection: org.freedesktop.DBus.Error.FileNotFound: Failed to connect to socket /sys/fs/cgroup/cgmanager/sock: Aucun fichier ou dossier de ce type (No such file or directory with this type) Aug 22 18:40:58 my_stretch_server gdm3: Could not start command '/usr/lib/gdm3/gdm-session-worker': Trop de fichiers ouverts (too many opened files) Aug 22 18:40:58 my_stretch_server gdm3: Child process -22118 was already dead. Aug 22 18:40:58 my_stretch_server gdm3: Child process 22107 was already dead. Aug 22 18:40:58 my_stretch_server gdm3: Unable to kill session worker process Aug 22 18:40:58 my_stretch_server udev-acl.ck[22141]: g_slice_set_config: assertion 'sys_page_size == 0' failed
which seems the last message about the problem.

Just after this reboot, gdm3 service seems happy:
systemctl -l status gdm3
● gdm.service - GNOME Display Manager
Loaded: loaded (/lib/systemd/system/gdm.service; static; vendor preset: enabled)
   Active: active (running) since Tue 2017-08-22 18:38:48 CEST; 8min ago
Process: 3849 ExecStartPre=/usr/share/gdm/generate-config (code=exited, status=0/SUCCESS) Process: 3844 ExecStartPre=/bin/sh -c [ "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/gdm3" ] (code=exited, status=0/SUCCESS)
 Main PID: 3858 (gdm3)
    Tasks: 3 (limit: 12288)
   CGroup: /system.slice/gdm.service
           └─3858 /usr/sbin/gdm3

... cgmanager service less:
systemctl -l status cgmanager
● cgmanager.service - Cgroup management daemon
Loaded: loaded (/lib/systemd/system/cgmanager.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

Curiously it seems that there has been no attempt to launch X on the server (Xorg.0.log not modified during the reboot), despite a loop to try to create and display the gdm greeter on the console (from /var/log/debug).

2. For xdmcp requests from other X servers

On the workstation (Windows 7), a few seconds after having launched Cygwin/X with 'XWin:0 -query my_stretch_server ...', I get a window with the following message:
A fatal error has occured and Cygwin/X will now exit.
XDMCP fatal error: Session declined Maximum number of open sessions from your host reached.

On the server, I see only a few lines in /var/log/messages:
Aug 23 18:19:21 my_stretch_server gdm3: Unable to connect to display 147.b.c.d:0 Aug 23 18:19:22 my_stretch_server gdm3: Unable to connect to display 147.b.c.d:0 Aug 23 18:19:22 my_stretch_server gdm3: Unable to connect to display 147.b.c.d:0 Aug 23 18:19:23 my_stretch_server gdm3: Unable to connect to display 147.b.c.d:0 Aug 23 18:19:23 my_stretch_server gdm3: gdm_xdmcp_handle_manage: Got Manage from banned host 147.b.c.d Aug 23 18:19:23 my_stretch_server gdm3: Unable to connect to display 147.b.c.d:0 Aug 23 18:19:24 my_stretch_server gdm3: Unable to connect to display 147.b.c.d:0 Aug 23 18:19:24 my_stretch_server gdm3: Unable to connect to display 147.b.c.d:0 Aug 23 18:19:25 my_stretch_server gdm3: Unable to connect to display 147.b.c.d:0 Aug 23 18:19:25 my_stretch_server gdm3: Unable to connect to display 147.b.c.d:0 Aug 23 18:19:26 my_stretch_server gdm3: Unable to connect to display 147.b.c.d:0 Aug 23 18:19:26 my_stretch_server gdm3: Unable to connect to display after 10 tries - bailing out Aug 23 18:19:27 my_stretch_server gdm3: GdmXdmcpDisplayFactory: Failed to look up session ID 388766185

/var/log/syslog contains more messages, that could let think to the following scenario: - GdmXdmcpDisplayFactory receives the query from 147.b.c.d and tries to create the xdmcp display - GdmDisplay tries to prepare the display and to create the greeter for 147.b.c.d - GdmLaunchEnvironment starts and maybe fails (Unknown user Debian-gdm - gdm3: GLib-GObject: g_object_set: assertion 'G_IS_OBJECT (object)' failed) - GdmDisplay tries 10 folds to open display 147.b.c.d:0 but fails (gdm3: Unable to connect to display 147.b.c.d:0)
- After these 10 trials gdm3 asks GdmDisplay to unmanage the display
- GdmXdmcpDisplayFactory sends REFUSE to the opened session and DECLINE to 147.b.c.d

With the same workstation, same tool and same method, I can open X sessions on a old Debian server (squeeze 6.0.7) using gdm (2.20.11-4) and xfce (4.6.2), and then connect with ssh -X. But old things are not eternal.

Jean-Paul