Steam game caused the shell to segfault
So I was playing Dead in Vinland in Proton/Steam and eventually the shell segfaulted with the following backtrace (I think after I pressed the super key).
GNOME OS: IMAGE_VERSION=nightly.642914
so gnome-build-meta@e4f34f30
Shell: d8014d35
Mutter: mutter@fa675887
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/gnome-shell'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fd8b0b34cbf in wl_list_remove (elm=elm@entry=0x5561ebda5f20) at ../src/wayland-util.c:56
56 elm->prev->next = elm->next;
[Current thread is 1 (Thread 0x7fd8ad1fecc0 (LWP 1088))]
(gdb) bt
#0 0x00007fd8b0b34cbf in wl_list_remove (elm=elm@entry=0x5561ebda5f20) at ../src/wayland-util.c:56
#1 0x00007fd8b2e4d6e5 in meta_wayland_input_detach_event_handler (input=0x5561e7908db0 [MetaWaylandInput], handler=0x5561ebda5f00) at ../src/wayland/meta-wayland-input.c:326
#2 0x00007fd8b2e5318c in meta_wayland_pointer_constraint_disable (constraint=0x5561ebc46c20 [MetaWaylandPointerConstraint]) at ../src/wayland/meta-wayland-pointer-constraints.c:428
#3 meta_wayland_pointer_constraint_disable (constraint=0x5561ebc46c20 [MetaWaylandPointerConstraint]) at ../src/wayland/meta-wayland-pointer-constraints.c:411
#4 0x00007fd8b2e4d3e9 in meta_wayland_event_handler_invalidate_all_focus (handler=handler@entry=0x5561e97acfb0) at ../src/wayland/meta-wayland-input.c:152
#5 0x00007fd8b2e4d64b in meta_wayland_input_attach_event_handler
(input=0x5561e7908db0 [MetaWaylandInput], iface=iface@entry=0x7fd8b2f62500 <pointer_constraints_event_interface>, grab=grab@entry=0, user_data=user_data@entry=0x5561ebc46c20) at ../src/wayland/meta-wayland-input.c:302
#6 0x00007fd8b2e53021 in meta_wayland_pointer_constraint_enable (constraint=0x5561ebc46c20 [MetaWaylandPointerConstraint]) at ../src/wayland/meta-wayland-pointer-constraints.c:397
#7 0x00007fd8b2e53897 in meta_wayland_pointer_constraint_maybe_enable (constraint=0x5561ebc46c20 [MetaWaylandPointerConstraint]) at ../src/wayland/meta-wayland-pointer-constraints.c:534
#11 0x00007fd8b32bfef3 in <emit signal 'focus-surface-changed' on instance 0x5561e7908560 [MetaWaylandPointer]> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3574
#8 0x00007fd8b32a2912 in _g_closure_invoke_va (closure=0x5561eabf76e0, return_value=0x0, instance=0x5561e7908560, args=0x7ffe7c41b5e0, n_params=0, param_types=0x0) at ../gobject/gclosure.c:897
#9 0x00007fd8b32b9f1f in signal_emit_valist_unlocked (instance=instance@entry=0x5561e7908560, signal_id=signal_id@entry=201, detail=detail@entry=0, var_args=var_args@entry=0x7ffe7c41b5e0) at ../gobject/gsignal.c:3415
#10 0x00007fd8b32bfe31 in g_signal_emit_valist (instance=0x5561e7908560, signal_id=201, detail=0, var_args=0x7ffe7c41b5e0) at ../gobject/gsignal.c:3254
#12 0x00007fd8b2e4d3e9 in meta_wayland_event_handler_invalidate_all_focus (handler=0x5561e7908e90) at ../src/wayland/meta-wayland-input.c:152
#13 0x00007fd8b2e4d79e in meta_wayland_input_detach_event_handler (input=0x5561e7908db0 [MetaWaylandInput], handler=0x5561ebda5f00) at ../src/wayland/meta-wayland-input.c:334
#14 0x00007fd8b2e5318c in meta_wayland_pointer_constraint_disable (constraint=0x5561ebc46c20 [MetaWaylandPointerConstraint]) at ../src/wayland/meta-wayland-pointer-constraints.c:428
#15 meta_wayland_pointer_constraint_disable (constraint=0x5561ebc46c20 [MetaWaylandPointerConstraint]) at ../src/wayland/meta-wayland-pointer-constraints.c:411
#16 0x00007fd8b2e5225b in sync_focus_surface (pointer=0x5561e7908560 [MetaWaylandPointer]) at ../src/wayland/meta-wayland-pointer.c:306
#17 repick_for_event (for_event=0x5561eaf36c30, pointer=0x5561e7908560 [MetaWaylandPointer]) at ../src/wayland/meta-wayland-pointer.c:587
#18 meta_wayland_pointer_update (pointer=0x5561e7908560 [MetaWaylandPointer], event=event@entry=0x5561eaf36c30) at ../src/wayland/meta-wayland-pointer.c:610
#19 0x00007fd8b2e565de in meta_wayland_seat_update (seat=<optimized out>, event=event@entry=0x5561eaf36c30) at ../src/wayland/meta-wayland-seat.c:441
#20 0x00007fd8b2e42320 in meta_wayland_compositor_update (compositor=compositor@entry=0x5561e7907120 [MetaWaylandCompositor], event=event@entry=0x5561eaf36c30) at ../src/wayland/meta-wayland.c:399
#21 0x00007fd8b2dc0e90 in meta_display_handle_event (event_actor=0x5561ec0dd3c0 [MetaSurfaceActorWayland], event=0x5561eaf36c30, display=0x5561e790a9e0 [MetaDisplay]) at ../src/core/events.c:297
#22 event_callback (event=0x5561eaf36c30, event_actor=0x5561ec0dd3c0 [MetaSurfaceActorWayland], data=0x5561e790a9e0) at ../src/core/events.c:497
#23 0x00007fd8b30224db in _clutter_event_process_filters (event=event@entry=0x5561eaf36c30, event_actor=0x5561ec0dd3c0 [MetaSurfaceActorWayland]) at ../clutter/clutter/clutter-event.c:1281
#24 0x00007fd8b304c78d in clutter_stage_notify_grab_on_pointer_entry (stage=stage@entry=0x5561e78e4780 [MetaStage], entry=0x5561e854a2a0, grab_actor=<optimized out>,
grab_actor@entry=0x5561e92f5520 [Gjs_ui_altTab_AppSwitcherPopup], old_grab_actor=<optimized out>, old_grab_actor@entry=0x0) at ../clutter/clutter/clutter-stage.c:3788
#25 0x00007fd8b304cc72 in clutter_stage_notify_grab (stage=stage@entry=0x5561e78e4780 [MetaStage], cur=cur@entry=0x5561eaec3b30 [ClutterGrab], old=<optimized out>) at ../clutter/clutter/clutter-stage.c:3854
#26 0x00007fd8b304cf17 in clutter_stage_grab_full (stage=0x5561e78e4780 [MetaStage], actor=0x5561e92f5520 [Gjs_ui_altTab_AppSwitcherPopup], owns_actor=<optimized out>) at ../clutter/clutter/clutter-stage.c:3928
#27 0x00007fd8b2089056 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#28 0x00007fd8b2087b5d in ffi_call_int (cif=cif@entry=0x5561ea9c5850, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
#29 0x00007fd8b2088313 in ffi_call (cif=0x5561ea9c5850, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>) at ../src/x86/ffi64.c:710
#30 0x00007fd8b3121f12 in Gjs::Function::invoke(JSContext*, JS::CallArgs const&, JS::Handle<JSObject*>, _GIArgument*) (this=0x5561ea9c5830, context=0x5561e72e7110, args=<optimized out>, this_obj=..., r_value=<optimized out>)
at ../gi/function.cpp:1052
#31 0x00007fd8b3122894 in Gjs::Function::call(JSContext*, unsigned int, JS::Value*) (context=0x5561e72e7110, js_argc=<optimized out>, vp=<optimized out>) at ../gi/function.cpp:1229
#32 0x00007fd8b1298952 in CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)
(args=..., reason=js::CallReason::Call, native=0x7fd8b31227b0 <Gjs::Function::call(JSContext*, unsigned int, JS::Value*)>, cx=0x5561e72e7110) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:486
#33 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) (cx=0x5561e72e7110, args=..., construct=<optimized out>, reason=js::CallReason::Call)
at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:566
#34 0x00007fd8b128a30c in InternalCall (reason=<optimized out>, args=<optimized out>, cx=<optimized out>) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:647
#35 js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason) (reason=<optimized out>, args=<optimized out>, cx=<optimized out>) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:652
#36 js::Interpret(JSContext*, js::RunState&) (cx=0x5561e72e7110, state=...) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:3395
#37 0x00007fd8b12985dd in MaybeEnterInterpreterTrampoline (state=..., cx=0x5561e72e7110) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:400
#38 js::RunScript(JSContext*, js::RunState&) (cx=cx@entry=0x5561e72e7110, state=...) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:458
#39 0x00007fd8b1298a8e in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) (cx=cx@entry=0x5561e72e7110, args=..., construct=construct@entry=js::NO_CONSTRUCT, reason=<optimized out>)
at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:612
#40 0x00007fd8b1298efd in InternalCall (reason=<optimized out>, args=..., cx=0x5561e72e7110) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:647
#41 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) (cx=cx@entry=0x5561e72e7110, fval=..., fval@entry=..., thisv=...,
thisv@entry=..., args=..., rval=..., reason=reason@entry=js::CallReason::Call) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:679
#42 0x00007fd8b131ff5e in js::BoundFunctionObject::call(JSContext*, unsigned int, JS::Value*) (cx=0x5561e72e7110, argc=3, vp=<optimized out>) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/BoundFunctionObject.cpp:72
#43 0x00007fd8b1298952 in CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)
(args=..., reason=js::CallReason::Call, native=0x7fd8b131fcb0 <js::BoundFunctionObject::call(JSContext*, unsigned int, JS::Value*)>, cx=0x5561e72e7110) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:486
#44 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) (cx=cx@entry=0x5561e72e7110, args=..., construct=construct@entry=js::NO_CONSTRUCT, reason=js::CallReason::Call)
--Type <RET> for more, q to quit, c to continue without paging--c
at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:566
#45 0x00007fd8b1298efd in InternalCall (reason=<optimized out>, args=..., cx=0x5561e72e7110) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:647
#46 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) (cx=cx@entry=0x5561e72e7110, fval=..., fval@entry=..., thisv=...,
thisv@entry=..., args=..., rval=rval@entry=..., reason=reason@entry=js::CallReason::Call) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:679
#47 0x00007fd8b1320a75 in JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>)
(cx=0x5561e72e7110, obj=obj@entry=..., fval=fval@entry=..., args=..., rval=rval@entry=...) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/CallAndConstruct.cpp:53
#48 0x00007fd8b311a465 in JS::Call (rval=..., args=..., fun=..., thisObj=..., cx=<optimized out>) at /usr/include/mozjs-115/js/CallAndConstruct.h:92
#49 Gjs::Closure::invoke(JS::Handle<JSObject*>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) (this=this@entry=0x5561e8902da0, this_obj=this_obj@entry=..., args=..., retval=retval@entry=...) at ../gi/closure.cpp:184
#50 0x00007fd8b31237dd in GjsCallbackTrampoline::callback_closure_inner(JSContext*, JS::Handle<JSObject*>, _GObject*, JS::MutableHandle<JS::Value>, _GIArgument**, _GIBaseInfoStub*, int, int, void*)
(this=0x5561e8902da0, context=0x5561e72e7110, this_object=..., gobject=0x0, rval=..., args=0x7ffe7c41cd10, ret_type=0x7ffe7c41cc50, n_args=5, c_args_offset=0, result=0x7ffe7c41cec0) at ../gi/function.cpp:515
#51 0x00007fd8b3124613 in GjsCallbackTrampoline::callback_closure(_GIArgument**, void*) (this=0x5561e8902da0, args=0x7ffe7c41cd10, result=0x7ffe7c41cec0) at /usr/include/mozjs-115/js/RootingAPI.h:1219
#52 0x00007fd8b3124d28 in operator() (__closure=0x0, data=<optimized out>, ffi_args=0x7ffe7c41cd10, result=0x7ffe7c41cec0) at ../gi/function.cpp:741
#53 _FUN(ffi_cif*, void*, void**, void*) () at ../gi/function.cpp:742
#54 0x00007fd8b20886a2 in ffi_closure_unix64_inner (cif=<optimized out>, fun=<optimized out>, user_data=<optimized out>, rvalue=<optimized out>, reg_args=<optimized out>, argp=0x7ffe7c41cef0 "\b") at ../src/x86/ffi64.c:899
#55 0x00007fd8b2089278 in ffi_closure_unix64 () at ../src/x86/unix64.S:303
#56 0x00007fd8b2dc4b04 in process_event (display=0x5561e790a9e0 [MetaDisplay], window=0x5561ec27f490 [MetaWindowXwayland], event=0x7fd8480b6dc0) at ../src/core/keybindings.c:1882
#57 0x00007fd8b2dc67fc in process_key_event (event=<optimized out>, window=<optimized out>, display=<optimized out>) at ../src/core/keybindings.c:2154
#58 0x00007fd8b2dc135e in meta_display_handle_event (event_actor=<optimized out>, event=0x7fd8480b6dc0, display=0x5561e790a9e0 [MetaDisplay]) at ../src/core/events.c:398
#59 event_callback (event=0x7fd8480b6dc0, event_actor=<optimized out>, data=0x5561e790a9e0) at ../src/core/events.c:497
#60 0x00007fd8b30224db in _clutter_event_process_filters (event=event@entry=0x7fd8480b6dc0, event_actor=event_actor@entry=0x5561e78e4780 [MetaStage]) at ../clutter/clutter/clutter-event.c:1281
#61 0x00007fd8b303b335 in clutter_stage_handle_event (stage=stage@entry=0x5561e78e4780 [MetaStage], event=event@entry=0x7fd8480b6dc0) at ../clutter/clutter/clutter-main.c:557
#62 0x00007fd8b2d69ab3 in dispatch_clutter_event (backend=0x5561e74203b0 [MetaBackendNative]) at ../src/backends/meta-backend.c:1133
#63 0x00007fd8b2d69d69 in clutter_source_dispatch (source=0x5561e78d69f0, callback=<optimized out>, user_data=<optimized out>) at ../src/backends/meta-backend.c:1177
#64 0x00007fd8b3350667 in g_main_dispatch (context=context@entry=0x5561e72bc170) at ../glib/gmain.c:3344
#65 0x00007fd8b3352787 in g_main_context_dispatch_unlocked (context=0x5561e72bc170) at ../glib/gmain.c:4152
#66 g_main_context_iterate_unlocked (context=0x5561e72bc170, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#67 0x00007fd8b3353137 in g_main_loop_run (loop=0x5561e79286b0) at ../glib/gmain.c:4419
#68 0x00007fd8b2dca57a in meta_context_run_main_loop (context=<optimized out>, error=0x7ffe7c41d620) at ../src/core/meta-context.c:523
#69 0x00007fd8b2089056 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#70 0x00007fd8b2087b5d in ffi_call_int (cif=cif@entry=0x5561e79a0fc0, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
#71 0x00007fd8b2088313 in ffi_call (cif=0x5561e79a0fc0, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>) at ../src/x86/ffi64.c:710
#72 0x00007fd8b3121f12 in Gjs::Function::invoke(JSContext*, JS::CallArgs const&, JS::Handle<JSObject*>, _GIArgument*) (this=0x5561e79a0fa0, context=0x5561e72e7110, args=<optimized out>, this_obj=..., r_value=<optimized out>)
at ../gi/function.cpp:1052
#73 0x00007fd8b3122894 in Gjs::Function::call(JSContext*, unsigned int, JS::Value*) (context=0x5561e72e7110, js_argc=<optimized out>, vp=<optimized out>) at ../gi/function.cpp:1229
#74 0x00007fd8b1298952 in CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)
(args=..., reason=js::CallReason::Call, native=0x7fd8b31227b0 <Gjs::Function::call(JSContext*, unsigned int, JS::Value*)>, cx=0x5561e72e7110) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:486
#75 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) (cx=0x5561e72e7110, args=..., construct=<optimized out>, reason=js::CallReason::Call)
at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:566
#76 0x00007fd8b128a30c in InternalCall (reason=<optimized out>, args=<optimized out>, cx=<optimized out>) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:647
#77 js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason) (reason=<optimized out>, args=<optimized out>, cx=<optimized out>) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:652
#78 js::Interpret(JSContext*, js::RunState&) (cx=0x5561e72e7110, state=...) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:3395
#79 0x00007fd8b1298663 in MaybeEnterInterpreterTrampoline (state=..., cx=0x5561e72e7110) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:400
#80 js::RunScript(JSContext*, js::RunState&) (cx=cx@entry=0x5561e72e7110, state=...) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:458
#81 0x00007fd8b1298a8e in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) (cx=cx@entry=0x5561e72e7110, args=..., construct=construct@entry=js::NO_CONSTRUCT, reason=<optimized out>)
at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:612
#82 0x00007fd8b1298efd in InternalCall (reason=<optimized out>, args=..., cx=0x5561e72e7110) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:647
#83 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) (cx=cx@entry=0x5561e72e7110, fval=..., fval@entry=..., thisv=...,
thisv@entry=..., args=..., rval=rval@entry=..., reason=reason@entry=js::CallReason::Call) at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/Interpreter.cpp:679
#84 0x00007fd8b1320773 in JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) (cx=0x5561e72e7110, thisv=..., fval=fval@entry=..., args=..., rval=rval@entry=...)
at /usr/lib/debug/source/sdk/mozjs.bst/js/src/vm/CallAndConstruct.cpp:117
#85 0x00007fd8b315ec38 in JS::Call (rval=..., args=..., funObj=..., thisv=..., cx=<optimized out>) at /usr/include/mozjs-115/js/RootingAPI.h:1219
#86 GjsContextPrivate::run_main_loop_hook() (this=0x5561e72ddb10) at ../gjs/context.cpp:1492
#87 0x00007fd8b3163487 in GjsContextPrivate::eval_module(char const*, unsigned char*, _GError**)
(this=0x5561e72ddb10, identifier=0x5561e76ee680 "resource:///org/gnome/shell/ui/init.js", exit_status_p=0x7ffe7c41e0eb "", error=0x7ffe7c41e0f0) at ../gjs/context.cpp:1609
#88 0x00007fd8b316363b in gjs_context_eval_module(GjsContext*, char const*, uint8_t*, GError**)
(js_context=0x5561e72ddcb0 [GjsContext], identifier=0x5561e76ee680 "resource:///org/gnome/shell/ui/init.js", exit_code=0x7ffe7c41e0eb "", error=0x7ffe7c41e0f0) at ../gjs/context.cpp:1388
#89 0x00007fd8b3163781 in gjs_context_eval_module_file(GjsContext*, char const*, uint8_t*, GError**)
(js_context=js_context@entry=0x5561e72ddcb0 [GjsContext], filename=filename@entry=0x5561e6e2c678 "resource:///org/gnome/shell/ui/init.js", exit_status_p=exit_status_p@entry=0x7ffe7c41e0eb "", error=error@entry=0x7ffe7c41e0f0)
at ../gjs/context.cpp:1693
#90 0x00005561e6e2b082 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:708
(gdb)