`gnome-shell --replace` crashes
Using Debian sid/unstable with gnome-shell 44.8-1 and libmutter-12-0 44.8-1, gnome-shell --replace
crashes a GNOME Shell X.Org session:
Core was generated by `/usr/bin/gnome-shell'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 remove_later_from_list (later_id=later_id@entry=23, laters_list=laters_list@entry=0x28) at ../src/compositor/meta-later.c:129
129 ../src/compositor/meta-later.c: Datei oder Verzeichnis nicht gefunden.
[Current thread is 1 (Thread 0x7f7cc650de00 (LWP 1870))]
(gdb) bt
#0 remove_later_from_list (later_id=later_id@entry=23, laters_list=laters_list@entry=0x28) at ../src/compositor/meta-later.c:129
#1 0x00007f7ccacb8a4e in meta_laters_remove (laters=0x0, later_id=later_id@entry=23) at ../src/compositor/meta-later.c:326
#2 0x00007f7ccad272b3 in meta_window_x11_dispose (object=0x560febf4eec0 [MetaWindowX11]) at ../src/x11/window-x11.c:2180
#3 0x00007f7ccb8d79c0 in g_object_unref (_object=0x560febf4eec0) at ../../../gobject/gobject.c:3894
#4 g_object_unref (_object=0x560febf4eec0) at ../../../gobject/gobject.c:3805
#5 0x00007f7ccb1a0624 in ObjectInstance::disassociate_js_gobject() (this=0x560febf4e190) at ./obj-x86_64-linux-gnu/../gi/object.cpp:1779
#6 0x00007f7ccb1a1008 in std::function<void (ObjectInstance*)>::operator()(ObjectInstance*) const (__args#0=<optimized out>, this=0x7ffe1ef08c30) at /usr/include/c++/13/bits/std_function.h:591
#7 operator() (link=0x560febf4e190, __closure=0x7ffe1ef08c10) at ./obj-x86_64-linux-gnu/../gi/object.cpp:1307
#8 __gnu_cxx::__ops::_Iter_pred<ObjectInstance::remove_wrapped_gobjects_if(const Predicate&, const Action&)::<lambda(ObjectInstance*)> >::operator()<__gnu_cxx::__normal_iterator<ObjectInstance**, std::vector<ObjectInstance*> > > (__it=Python Exception <class 'gdb.error'>: value has been optimized out
, this=0x7ffe1ef08c10) at /usr/include/c++/13/bits/predefined_ops.h:318
#9 std::__remove_if<__gnu_cxx::__normal_iterator<ObjectInstance**, std::vector<ObjectInstance*> >, __gnu_cxx::__ops::_Iter_pred<ObjectInstance::remove_wrapped_gobjects_if(const Predicate&, const Action&)::<lambda(ObjectInstance*)> > > (__pred=..., __last=0x560feac67570, __first=0x560febf4e190) at /usr/include/c++/13/bits/stl_algobase.h:2142
#10 std::remove_if<__gnu_cxx::__normal_iterator<ObjectInstance**, std::vector<ObjectInstance*> >, ObjectInstance::remove_wrapped_gobjects_if(const Predicate&, const Action&)::<lambda(ObjectInstance*)> >
(__pred=..., __last=Python Exception <class 'gdb.error'>: value has been optimized out
, __first=Python Exception <class 'gdb.error'>: value has been optimized out
) at /usr/include/c++/13/bits/stl_algo.h:880
#11 ObjectInstance::remove_wrapped_gobjects_if(std::function<bool (ObjectInstance*)> const&, std::function<void (ObjectInstance*)> const&) (predicate=<optimized out>, action=<optimized out>)
at ./obj-x86_64-linux-gnu/../gi/object.cpp:1303
#12 0x00007f7ccb1a1430 in ObjectInstance::update_heap_wrapper_weak_pointers(JSTracer*, JS::Compartment*, void*) (trc=<optimized out>) at ./obj-x86_64-linux-gnu/../gi/object.cpp:1627
#13 0x00007f7cc88530dc in js::gc::GCRuntime::callWeakPointerCompartmentCallbacks(JSTracer*, JS::Compartment*) const (this=this@entry=0x560fe91eb980, trc=trc@entry=0x560fe91ec328, comp=0x560fe92fe660)
at ./js/src/gc/GC.cpp:1500
#14 0x00007f7cc8899e77 in js::gc::GCRuntime::sweepEmbeddingWeakPointers(JS::GCContext*) (this=this@entry=0x560fe91eb980, gcx=gcx@entry=0x560fe91eb990) at ./js/src/gc/Sweeping.cpp:1472
#15 0x00007f7cc88a7f45 in js::gc::GCRuntime::beginSweepingSweepGroup(JS::GCContext*, js::SliceBudget&) (this=0x560fe91eb980, gcx=0x560fe91eb990, budget=<optimized out>) at ./js/src/gc/Sweeping.cpp:1538
#16 0x00007f7cc8892e48 in sweepaction::SweepActionSequence::run(js::gc::SweepAction::Args&) (this=0x560fe8fd35a0, args=...) at ./js/src/gc/Sweeping.cpp:2128
#17 0x00007f7cc8898881 in sweepaction::SweepActionForEach<js::gc::SweepGroupsIter, JSRuntime*>::run(js::gc::SweepAction::Args&) (this=0x560fe91e4c10, args=...) at ./js/src/gc/Sweeping.cpp:2163
#18 0x00007f7cc889a9b7 in js::gc::GCRuntime::performSweepActions(js::SliceBudget&) (this=this@entry=0x560fe91eb980, budget=...) at ./js/src/gc/Sweeping.cpp:2305
#19 0x00007f7cc886b2d9 in js::gc::GCRuntime::incrementalSlice(js::SliceBudget&, JS::GCReason, bool)
(this=this@entry=0x560fe91eb980, budget=..., reason=JS::GCReason::DESTROY_RUNTIME, budgetWasIncreased=budgetWasIncreased@entry=false) at ./js/src/gc/GC.cpp:3668
#20 0x00007f7cc886b9dc in js::gc::GCRuntime::gcCycle(bool, js::SliceBudget const&, JS::GCReason)
(this=this@entry=0x560fe91eb980, nonincrementalByAPI=nonincrementalByAPI@entry=true, budgetArg=..., reason=<optimized out>, reason@entry=JS::GCReason::DESTROY_RUNTIME) at ./js/src/gc/GC.cpp:4179
#21 0x00007f7cc886bc5f in js::gc::GCRuntime::collect(bool, js::SliceBudget const&, JS::GCReason)
(this=0x560fe91eb980, nonincrementalByAPI=nonincrementalByAPI@entry=true, budget=..., reason=JS::GCReason::DESTROY_RUNTIME) at ./js/src/gc/GC.cpp:4366
#22 0x00007f7cc886c022 in js::gc::GCRuntime::gc(JS::GCOptions, JS::GCReason) (this=this@entry=0x560fe91eb980, options=options@entry=JS::GCOptions::Shutdown, reason=reason@entry=JS::GCReason::DESTROY_RUNTIME)
at ./js/src/gc/GC.cpp:4444
#23 0x00007f7cc853c911 in JSRuntime::destroyRuntime() (this=0x560fe91eb480) at ./js/src/vm/Runtime.cpp:266
#24 0x00007f7cc846d5dc in js::DestroyContext(JSContext*) (cx=0x560fe91c2770) at ./js/src/vm/JSContext.cpp:225
#25 0x00007f7cc8661765 in JS_DestroyContext(JSContext*) (cx=<optimized out>) at ./js/src/jsapi.cpp:405
#26 0x00007f7ccb1cfcc3 in GjsContextPrivate::dispose() (this=0x560fe91e4a20) at ./obj-x86_64-linux-gnu/../gjs/context.cpp:484
#27 0x00007f7ccb8d79c0 in g_object_unref (_object=0x560fe91e4ba0) at ../../../gobject/gobject.c:3894
#28 g_object_unref (_object=0x560fe91e4ba0) at ../../../gobject/gobject.c:3805
#29 0x0000560fe73faa11 in ()
#30 0x00007f7ccaa456ca in __libc_start_call_main (main=main@entry=0x560fe73fa570, argc=argc@entry=1, argv=argv@entry=0x7ffe1ef09738) at ../sysdeps/nptl/libc_start_call_main.h:58
#31 0x00007f7ccaa45785 in __libc_start_main_impl (main=0x560fe73fa570, argc=1, argv=0x7ffe1ef09738, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe1ef09728)
at ../csu/libc-start.c:360
#32 0x0000560fe73fac71 in ()