[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#975244: xwayland: Xwayland coredump on SIGABRT in wl_proxy_destroy



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

# Buster/stable amd64 qemu VM 2020-12-15


apt update
apt dist-upgrade


apt install gdb xwayland xwayland-dbgsym libwayland-client0-dbgsym


wget "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=975244;filename=core.gz;msg=5"; -O core.gz
gunzip --keep core.gz


gdb -q --core core
Core was generated by `/usr/bin/Xwayland :0 -rootless -terminate -accessx -core -listen 4 -listen 5 -d'.


gdb -q --core core /usr/bin/Xwayland


wget http://192.168.178.25:9999/debian-10-buster-deb.debian.org/pool/main/x/xorg-server/xwayland_1.20.4-1+deb10u1_amd64.deb
wget http://192.168.178.25:9999/debian-10-buster-deb.debian.org/pool/main/x/xorg-server/xserver-common_1.20.4-1+deb10u1_all.deb
wget http://192.168.178.25:9999/debian-10-buster-debug.deb.debian.org/pool/main/x/xorg-server/xwayland-dbgsym_1.20.4-1+deb10u1_amd64.deb
dpkg -i *.deb


benutzer@debian:~$ gdb -q --core core /usr/bin/Xwayland
Reading symbols from /usr/bin/Xwayland...(no debugging symbols found)...done.
[New LWP 10820]
[New LWP 10824]
[New LWP 10821]
[New LWP 10823]
[New LWP 10822]
[New LWP 10825]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/Xwayland :0 -rootless -terminate -accessx -core -listen 4 -listen 5 -d'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
[Current thread is 1 (Thread 0x7f62f40c2a80 (LWP 10820))]
(gdb) set width 0
(gdb) set pagination off
(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 ()
#3  0x0000555c2f90ae13 in ?? ()
#4  0x0000555c2f90bc79 in FatalError ()
#5  0x0000555c2f902701 in ?? ()
#6  <signal handler called>
#7  0x00007f62f5b05be1 in wl_proxy_destroy () from /usr/lib/x86_64-linux-gnu/libwayland-client.so.0
#8  0x0000555c2f7ac366 in ?? ()
#9  0x00007f62f4af28ee in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#10 0x00007f62f4af22bf in ffi_call () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#11 0x00007f62f5b0928d in ?? () from /usr/lib/x86_64-linux-gnu/libwayland-client.so.0
#12 0x00007f62f5b05ac9 in ?? () from /usr/lib/x86_64-linux-gnu/libwayland-client.so.0
#13 0x00007f62f5b06f94 in wl_display_dispatch_queue_pending () from /usr/lib/x86_64-linux-gnu/libwayland-client.so.0
#14 0x0000555c2f7a1bdb in ?? ()
#15 0x0000555c2f9030b1 in ?? ()
#16 0x0000555c2f8fc0e3 in WaitForSomething ()
#17 0x0000555c2f8cc4bc in ?? ()
#18 0x0000555c2f8d06f6 in ?? ()
#19 0x00007f62f4bf509b in __libc_start_main (main=0x555c2f7a11c0, argc=12, argv=0x7ffec69eede8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffec69eedd8) at ../csu/libc-start.c:308
#20 0x0000555c2f7a11fa in _start ()
(gdb)

# with dbgsym

(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)
...
#7  <signal handler called>
(gdb) 
#8  0x00007f62f5b05be1 in wl_proxy_destroy (proxy=0x1) at ../src/wayland-client.c:523
523     ../src/wayland-client.c: Datei oder Verzeichnis nicht gefunden.
(gdb) display/i $pc
1: x/i $pc
=> 0x7f62f5b05be1 <wl_proxy_destroy+17>:        mov    0x18(%rdi),%r12
(gdb) print/x $rdi
$1 = 0x1



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

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

Reply to: