XWayland crash on NotifyParentProcess() - Cannot write display number to fd 6
XWayland crashes (100% reproducible) as following:
log excerpt:
Jun 03 17:34:29 rpi42-dw org.gnome.Shell.desktop[648]: glamor: No eglstream capable devices found
Jun 03 17:34:53 rpi42-dw gnome-session[548]: gnome-session-binary[548]: WARNING: Application 'org.gnome.Shell.desktop' killed by signal 7
Jun 03 17:34:53 rpi42-dw gnome-session-binary[548]: WARNING: Application 'org.gnome.Shell.desktop' killed by signal 7
Jun 03 17:34:53 rpi42-dw gnome-session-binary[548]: Unrecoverable failure in required component org.gnome.Shell.desktop
Jun 03 17:34:53 rpi42-dw org.gnome.Shell.desktop[893]: The XKEYBOARD keymap compiler (xkbcomp) reports:
Jun 03 17:34:53 rpi42-dw org.gnome.Shell.desktop[893]: > Internal error: Could not resolve keysym XF86FullScreen
Jun 03 17:34:53 rpi42-dw org.gnome.Shell.desktop[893]: Errors from xkbcomp are not fatal to the X server
Jun 03 17:34:53 rpi42-dw org.gnome.Shell.desktop[648]: (EE)
Jun 03 17:34:53 rpi42-dw org.gnome.Shell.desktop[648]: Fatal server error:
Jun 03 17:34:53 rpi42-dw org.gnome.Shell.desktop[648]: (EE) Cannot write display number to fd 6
Jun 03 17:34:53 rpi42-dw org.gnome.Shell.desktop[648]: (EE)
backtrace:
$ sudo coredumpctl debug 648
PID: 648 (Xwayland)
UID: 42 (gdm)
GID: 42 (gdm)
Signal: 6 (ABRT)
Timestamp: Wed 2020-06-03 17:34:53 CEST (30min ago)
Command Line: /usr/bin/Xwayland :1024 -rootless -noreset -accessx -core -auth /run/user/42/.mutter-Xwaylandauth.Q2SSL0 -listen 4 -listen 5 -displayfd 6 -listen 7
Executable: /usr/bin/Xwayland
Control Group: /user.slice/user-42.slice/session-c1.scope
Unit: session-c1.scope
Slice: user-42.slice
Session: c1
Owner UID: 42 (gdm)
Boot ID: e134caf45d144b09aa9f82b4b8987ada
Machine ID: fe9abc2defc64a80a872e6615ef25d74
Hostname: rpi42-dw
Storage: /var/lib/systemd/coredump/core.Xwayland.42.e134caf45d144b09aa9f82b4b8987ada.648.1591198493000000000000.lz4
Message: Process 648 (Xwayland) of user 42 dumped core.
Stack trace of thread 648:
#0 0x00000000b66d6604 raise (libc.so.6 + 0x31604)
GNU gdb (GDB) Fedora 9.1-5.fc32
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "armv7hl-redhat-linux-gnueabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/Xwayland...
Reading symbols from /usr/lib/debug/usr/bin/Xwayland-1.20.8-1.fc32.arm.debug...
[New LWP 648]
[New LWP 887]
[New LWP 886]
[New LWP 885]
[New LWP 891]
[New LWP 888]
[New LWP 890]
[New LWP 889]
[New LWP 892]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
Core was generated by `/usr/bin/Xwayland :1024 -rootless -noreset -accessx -core -auth /run/user/42/.m'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 return ret;
[Current thread is 1 (Thread 0xb6fac010 (LWP 648))]
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0xb66bf7d0 in __GI_abort () at abort.c:79
#2 0x006213ec in OsAbort () at utils.c:1351
#3 0x00626440 in AbortServer () at log.c:879
#4 0x00626e60 in FatalError (f=0x646300 "Cannot write display number to fd %d\n") at log.c:1017
#5 0x0061ace8 in NotifyParentProcess () at connection.c:210
#6 0x005eae9c in dix_main (argc=16, argv=0xbe8838f4, envp=<optimized out>) at main.c:272
#7 0xb66bfbb4 in __libc_start_main (main=0xbe8838f4, argc=-1233174992, argv=0xb66bfbb4 <__libc_start_main+280>, init=<optimized out>, fini=0x632530 <__libc_csu_fini>, rtld_fini=0xb6f97e58 <_dl_fini>, stack_end=0xbe8838f4)
at libc-start.c:308
#8 0x004af850 in _start ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) fr 5
#5 0x0061ace8 in NotifyParentProcess () at connection.c:210
210 FatalError("Cannot write display number to fd %d\n", displayfd);
(gdb) l
205 NotifyParentProcess(void)
206 {
207 #if !defined(WIN32)
208 if (displayfd >= 0) {
209 if (write(displayfd, display, strlen(display)) != strlen(display))
210 FatalError("Cannot write display number to fd %d\n", displayfd);
211 if (write(displayfd, "\n", 1) != 1)
212 FatalError("Cannot write display number to fd %d\n", displayfd);
213 close(displayfd);
214 displayfd = -1;
(gdb) p displayfd
$1 = 6
(gdb) p display
$2 = 0xbe883aa1 "1024"
(gdb)
$ rpm -qa | grep xorg
xorg-x11-drv-armada-0.0.0-3.unstable.20180829git78e7116a5.fc32.armv7hl
xorg-x11-drv-nouveau-1.0.15-9.fc32.armv7hl
xorg-x11-server-Xwayland-1.20.8-1.fc32.armv7hl
xorg-x11-server-Xorg-1.20.8-1.fc32.armv7hl
xorg-x11-server-utils-7.7-35.fc32.armv7hl
xorg-x11-server-debuginfo-1.20.8-1.fc32.armv7hl
xorg-x11-drv-qxl-0.1.5-12.fc31.armv7hl
xorg-x11-drv-ati-19.1.0-1.fc32.armv7hl
xorg-x11-server-Xwayland-debuginfo-1.20.8-1.fc32.armv7hl
xorg-x11-drv-evdev-2.10.6-6.fc32.armv7hl
xorg-x11-font-utils-7.5-44.fc32.armv7hl
xorg-x11-drv-fbdev-0.5.0-5.fc32.armv7hl
xorg-x11-drv-wacom-serial-support-0.39.0-2.fc32.armv7hl
xorg-x11-server-debugsource-1.20.8-1.fc32.armv7hl
xorg-x11-drv-armsoc-1.4.0-12.20160929.fc32.armv7hl
abrt-addon-xorg-2.14.2-2.fc32.armv7hl
xorg-x11-utils-7.5-34.fc32.armv7hl
xorg-x11-drv-libinput-0.29.0-2.fc32.armv7hl
xorg-x11-xinit-1.4.0-6.fc32.armv7hl
xorg-x11-drv-wacom-0.39.0-2.fc32.armv7hl
xorg-x11-xauth-1.1-3.fc32.armv7hl
xorg-x11-xkb-utils-7.7-32.fc32.armv7hl
xorg-x11-server-common-1.20.8-1.fc32.armv7hl