#975244 xwayland: Xwayland coredump on SIGABRT in wl_proxy_destroy

Package:
xwayland
Source:
xwayland
Description:
X server for running X clients under Wayland
Submitter:
Arno Peters
Date:
2020-12-15 15:27:03 UTC
Severity:
normal
#975244#5
Date:
2020-11-19 13:23:53 UTC
From:
To:
Dear Maintainer,

This morning Xwayland crashed taking the entire Gnome desktop with it.

Below the excerpt from journalctl:

nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE)
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) Backtrace:
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 0:
/usr/bin/Xwayland (OsLookupColor+0x139) [0x555c2f9027c9]
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 1:
/lib/x86_64-linux-gnu/libpthread.so.0 (funlockfile+0x50) [0x7f62f4da477f]
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 2:
/usr/lib/x86_64-linux-gnu/libwayland-client.so.0 (wl_proxy_destroy+0x11)
[0x7f62f5b05be1]
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 3:
/usr/bin/Xwayland (glamor_egl_fd_from_pixmap+0x476) [0x555c2f7ac7c6]
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 4:
/usr/lib/x86_64-linux-gnu/libffi.so.6 (ffi_call_unix64+0x4c) [0x7f62f4af28ee]
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 5:
/usr/lib/x86_64-linux-gnu/libffi.so.6 (ffi_call+0x22f) [0x7f62f4af22bf]
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 6:
/usr/lib/x86_64-linux-gnu/libwayland-client.so.0
(wl_log_set_handler_client+0x1e9d) [0x7f62f5b0af6
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 7:
/usr/lib/x86_64-linux-gnu/libwayland-client.so.0 (_init+0xac9) [0x7f62f5b06439]
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 8:
/usr/lib/x86_64-linux-gnu/libwayland-client.so.0
(wl_display_dispatch_queue_pending+0x74) [0x7f62f
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 9:
/usr/bin/Xwayland (_start+0xa0b) [0x555c2f7a25ab]
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 10:
/usr/bin/Xwayland (OsCleanup+0x591) [0x555c2f9035c1]
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 11:
/usr/bin/Xwayland (WaitForSomething+0x1c3) [0x555c2f8fc0e3]
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 12:
/usr/bin/Xwayland (SendErrorToClient+0x10c) [0x555c2f8cc51c]
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 13:
/usr/bin/Xwayland (InitFonts+0x3b6) [0x555c2f8d0736]
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 14:
/lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xeb) [0x7f62f4bf509b]
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) 15:
/usr/bin/Xwayland (_start+0x2a) [0x555c2f7a11fa]
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE)
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) Segmentation fault
at address 0x19
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE)
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: Fatal server error:
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE) Caught signal 11
(Segmentation fault). Server aborting
nov 19 08:30:19 ocelot org.gnome.Shell.desktop[10795]: (EE)
nov 19 08:30:20 ocelot gnome-shell[10795]: Connection to xwayland lost

Core dump attached.

#975244#10
Date:
2020-12-15 15:25:02 UTC
From:
To:
Dear Maintainer,
I tried to get a backtrace containing the source line
information from the core provided by the submitter.
It shows the backtrace below.

This backtrace leads to some upstream issues. Some
of them showing "proxy" being a null pointer.
In this case it shows 0x1 which seems causing the segfault.

Kind regards,
Bernhard


(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f62f4bf3535 in __GI_abort () at abort.c:79
#2  0x0000555c2f9052ea in OsAbort () at ../../../../os/utils.c:1351
#3  0x0000555c2f90ae13 in AbortServer () at ../../../../os/log.c:879
#4  0x0000555c2f90bc79 in FatalError (f=f@entry=0x555c2f92f0d0 "Caught signal %d (%s). Server aborting\n") at ../../../../os/log.c:1017
#5  0x0000555c2f902701 in OsSigHandler (unused=<optimized out>, sip=<optimized out>, signo=11) at ../../../../os/osinit.c:156
#6  OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at ../../../../os/osinit.c:110
#7  <signal handler called>
#8  0x00007f62f5b05be1 in wl_proxy_destroy (proxy=0x1) at ../src/wayland-client.c:523
#9  0x0000555c2f7ac366 in wl_callback_destroy (wl_callback=<optimized out>) at /usr/include/wayland-client-protocol.h:1154
#10 xwl_present_sync_callback (data=0x555c31bae990, callback=<optimized out>, time=<optimized out>) at ../../../../../hw/xwayland/xwayland-present.c:284
#11 0x00007f62f4af28ee in ffi_call_unix64 () at ../src/x86/unix64.S:76
#12 0x00007f62f4af22bf in ffi_call (cif=cif@entry=0x7ffec69edd30, fn=<optimized out>, rvalue=<optimized out>, rvalue@entry=0x0, avalue=avalue@entry=0x7ffec69ede00) at ../src/x86/ffi64.c:525
#13 0x00007f62f5b0928d in wl_closure_invoke (closure=closure@entry=0x555c317a1750, flags=flags@entry=1, target=<optimized out>, target@entry=0x555c31b9b5c0, opcode=opcode@entry=0, data=<optimized out>) at ../src/connection.c:1006
#14 0x00007f62f5b05ac9 in dispatch_event (display=display@entry=0x555c3122e730, queue=<optimized out>) at ../src/wayland-client.c:1427
#15 0x00007f62f5b06f94 in dispatch_queue (queue=0x555c3122e7f8, display=0x555c3122e730) at ../src/wayland-client.c:1573
#16 wl_display_dispatch_queue_pending (display=0x555c3122e730, queue=0x555c3122e7f8) at ../src/wayland-client.c:1815
#17 0x00007f62f5b06fec in wl_display_dispatch_pending (display=<optimized out>) at ../src/wayland-client.c:1878
#18 0x0000555c2f7a1bdb in xwl_read_events (xwl_screen=0x555c3122a8c0) at ../../../../../hw/xwayland/xwayland.c:826
#19 0x0000555c2f9030b1 in ospoll_wait (ospoll=0x555c3121ff90, timeout=<optimized out>) at ../../../../os/ospoll.c:651
#20 0x0000555c2f8fc0e3 in WaitForSomething (are_ready=0) at ../../../../os/WaitFor.c:208
#21 0x0000555c2f8cc4bc in Dispatch () at ../../../../include/list.h:220
#22 0x0000555c2f8d06f6 in dix_main (argc=12, argv=0x7ffec69eede8, envp=<optimized out>) at ../../../../dix/main.c:276
#23 0x00007f62f4bf509b in __libc_start_main (main=0x555c2f7a11c0 <main>, argc=12, argv=0x7ffec69eede8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffec69eedd8) at ../csu/libc-start.c:308
#24 0x0000555c2f7a11fa in _start ()
(gdb)


Maybe related bugs:
https://bugs.debian.org/927852  (At least the last message from the submitter)

https://gitlab.freedesktop.org/xorg/xserver/-/issues/645
https://gitlab.freedesktop.org/xorg/xserver/-/issues/672
https://gitlab.freedesktop.org/xorg/xserver/-/issues/843