systemd socket activation is broken for xserver 1.18
Submitted by Abdó Roig-Maranges
Assigned to Xorg Project Team
Description
Created attachment 120038 strace for xset q
I run xorg as a socket activated systemd service. Since I upgraded to version 1.18 of the X server, socket activation does not work. It all worked as expected in 1.17.
The client that triggers the socket-activation, gets stuck. Here is a way to reproduce the problem from the command line on a linux system running systemd:
$ /usr/lib/systemd/systemd-activate -l /tmp/.X11-unix/X0 /usr/bin/Xorg :0 -nolisten tcp -noreset -verbose 3 vt2 &
$ DISPLAY=:0 xset q
The first line emulates socket activation, by waiting on the socket and launching the X server on first connection.
When the second line is executed, it triggers the xorg activation correctly, the X server starts without problems, but xset gets stuck (never returns).
Other invocations of xset q after the server is already started work as expected.
I attach an strace for the xset command in the getting-stuck scenario.
Attachment 120038, "strace for xset q":
xset-strace.txt