gnome-shell: classify_argument(): gnome-shell killed by SIGSEGV
Affected version
Provide at least the following information:
- Your OS and version: Fedora 38 Beta
- Affected GNOME Shell version:
gnome-shell-44.0-2.fc38.x86_64
,mutter-44.0-1.fc38.x86_64
- Does this issue appear in XOrg and/or Wayland: Wayland, Xorg not tested
- Does this issue happen without extensions: Yes
Bug summary
Shell sometimes crashes on logging out. I saw the crash notification after logging in again. I don't know how to reproduce this, it doesn't seem to happen regularly.
Steps to reproduce
- Log out
- Log in
- See a crash notification (sometimes)
Relevant logs, screenshots, screencasts etc.
There are tracebacks in this Fedora bug: https://bugzilla.redhat.com/show_bug.cgi?id=2173120
My latest traceback:
Core was generated by `/usr/bin/gnome-shell'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 classify_argument (type=type@entry=0x56309b204ccc, classes=classes@entry=0x7fffda449ab0, byte_offset=byte_offset@entry=0) at ../src/x86/ffi64.c:164
Downloading source file /usr/src/debug/libffi-3.4.4-2.fc38.x86_64/x86_64-redhat-linux-gnu/../src/x86/ffi64.c...
164 switch (type->type)
[Current thread is 1 (Thread 0x7f849f0a05c0 (LWP 1751))]
Thread 1 (Thread 0x7f849f0a05c0 (LWP 1751)):
#0 classify_argument (type=type@entry=0x56309b204ccc, classes=classes@entry=0x7fffda449ab0, byte_offset=byte_offset@entry=0) at ../src/x86/ffi64.c:164
No locals.
#1 0x00007f84a1e34c0d in examine_argument (type=type@entry=0x56309b204ccc, classes=classes@entry=0x7fffda449ab0, in_return=in_return@entry=false, pngpr=pngpr@entry=0x7fffda449aac, pnsse=pnsse@entry=0x7fffda449aa8) at ../src/x86/ffi64.c:359
n = <optimized out>
i = <optimized out>
ngpr = <optimized out>
nsse = <optimized out>
#2 0x00007f84a1e3969e in ffi_closure_unix64_inner (cif=<optimized out>, fun=<optimized out>, user_data=<optimized out>, rvalue=<optimized out>, reg_args=<optimized out>, argp=0x7fffda449bf0 "") at ../src/x86/ffi64.c:847
classes = {3661929472, 32767, 2731497984, X86_64_COMPLEX_X87_CLASS}
n = <optimized out>
avalue = <optimized out>
arg_types = <optimized out>
i = 0
avn = <optimized out>
gprcount = 0
ssecount = 0
ngpr = 22069
nsse = -70778201
flags = <optimized out>
#3 0x00007f84a1e39e08 in ffi_closure_unix64 () at ../src/x86/unix64.S:303
No locals.
#4 0x00007f84a295c490 in meta_wayland_text_input_set_focus (text_input=0x5635f85f1ef0, surface=0x0) at ../src/wayland/meta-wayland-text-input.c:355
focus = 0x5635f7ff8710
input_method = 0x5635f8f59390
resource = <optimized out>
#5 0x00007f84a28c3340 in meta_wayland_seat_set_input_focus (surface=0x0, seat=0x5635f7ff87f0) at ../src/wayland/meta-wayland-seat.c:432
compositor = <optimized out>
tablet_seat = <optimized out>
compositor = <optimized out>
tablet_seat = <optimized out>
#6 meta_wayland_compositor_set_input_focus (window=<optimized out>, compositor=<optimized out>) at ../src/wayland/meta-wayland.c:156
surface = 0x0
surface = <optimized out>
#7 meta_display_sync_wayland_input_focus (display=display@entry=0x5635f85f74e0) at ../src/core/display.c:1354
compositor = <optimized out>
focus_window = <optimized out>
backend = <optimized out>
clutter_backend = <optimized out>
seat = 0x5635f837a5b0
stage = 0x5635f83f8820
is_no_focus_xwindow = <optimized out>
#8 0x00007f84a28c3808 in meta_display_update_focus_window (display=0x5635f85f74e0, window=<optimized out>) at ../src/core/display.c:1431
previous = 0x5635f9e37030
#9 0x00007f84a28c3a08 in meta_display_set_input_focus (display=0x5635f85f74e0, window=0x0, focus_frame=<optimized out>, timestamp=<optimized out>) at ../src/core/display.c:1480
No locals.
#10 0x00007f84a28ef2ad in meta_window_unmanage (window=0x5635f9e37030, timestamp=<optimized out>) at ../src/core/window.c:1502
workspace_manager = <optimized out>
tmp = <optimized out>
__func__ = "meta_window_unmanage"
#11 0x00007f84a2956048 in meta_wayland_shell_surface_destroy_window (shell_surface=<optimized out>) at ../src/wayland/meta-wayland-shell-surface.c:305
priv = 0x5635fb105c10
window = 0x5635f9e37030
display = <optimized out>
timestamp = <optimized out>
__func__ = "meta_wayland_shell_surface_destroy_window"
#12 0x00007f84a2959e4d in xdg_toplevel_destructor (resource=<optimized out>) at ../src/wayland/meta-wayland-xdg-shell.c:214
xdg_toplevel = 0x5635fb105c50
shell_surface = 0x5635fb105c50
#13 0x00007f84a0a7b6c1 in destroy_resource (element=0x5635fb105b50, data=data@entry=0x0, flags=0) at ../src/wayland-server.c:730
resource = 0x5635fb105b50
#14 0x00007f84a0a7d66a in wl_resource_destroy (resource=<optimized out>) at ../src/wayland-server.c:747
client = 0x5635fbc8b750
id = 35
flags = <optimized out>
#15 0x00007f84a295a5f1 in meta_wayland_xdg_surface_shell_client_destroyed (xdg_surface=<optimized out>) at ../src/wayland/meta-wayland-xdg-shell.c:1929
xdg_surface_class = <optimized out>
#16 meta_wayland_xdg_shell_client_destroy (shell_client=0x5635f940e8d0) at ../src/wayland/meta-wayland-xdg-shell.c:2551
xdg_surface = <optimized out>
#17 xdg_wm_base_destructor (resource=<optimized out>) at ../src/wayland/meta-wayland-xdg-shell.c:2564
shell_client = 0x5635f940e8d0
#18 0x00007f84a0a7b6c1 in destroy_resource (element=0x5635fc82e530, data=data@entry=0x7fffda449eb4, flags=0) at ../src/wayland-server.c:730
resource = 0x5635fc82e530
#19 0x00007f84a0a7be5b in for_each_helper (entries=0x5635fbc8b780, data=0x7fffda449eb4, func=0x7f84a0a7b610 <destroy_resource>) at ../src/wayland-util.c:416
idx = <optimized out>
ret = WL_ITERATOR_CONTINUE
entry = <optimized out>
start = <optimized out>
count = <optimized out>
ret = <optimized out>
entry = <optimized out>
start = <optimized out>
count = <optimized out>
idx = <optimized out>
#20 wl_map_for_each (data=0x7fffda449eb4, func=0x7f84a0a7b610 <destroy_resource>, map=0x5635fbc8b780) at ../src/wayland-util.c:430
ret = <optimized out>
...