Clutter:ERROR:../clutter/clutter/clutter-main.c:477:_clutter_context_get_default: assertion failed: (ClutterCntx)
This is a follow up crash to #6868, as this crash occurred right after that crash.
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1 0x00007fbc9daa815f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 0x00007fbc9da5a472 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x0000561358dad0f2 in dump_gjs_stack_on_signal_handler (signo=6) at ../src/main.c:369
#4 0x00007fbc9da5a510 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#5 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#6 0x00007fbc9daa815f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#7 0x00007fbc9da5a472 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#8 0x00007fbc9da444b2 in __GI_abort () at ./stdlib/abort.c:79
#9 0x00007fbc9ea97ebe in g_assertion_message
(domain=domain@entry=0x7fbc9e057796 "Clutter", file=file@entry=0x7fbc9e069988 "../clutter/clutter/clutter-main.c", line=line@entry=477, func=func@entry=0x7fbc9e069bd0 <__func__.5> "_clutter_context_get_default", message=message@entry=0x561359bc2a80 "assertion failed: (ClutterCntx)") at ../../../glib/gtestutils.c:3450
#10 0x00007fbc9eafd37a in g_assertion_message_expr
(domain=domain@entry=0x7fbc9e057796 "Clutter", file=file@entry=0x7fbc9e069988 "../clutter/clutter/clutter-main.c", line=line@entry=477, func=func@entry=0x7fbc9e069bd0 <__func__.5> "_clutter_context_get_default", expr=expr@entry=0x7fbc9e069880 "ClutterCntx") at ../../../glib/gtestutils.c:3476
#11 0x00007fbc9e012a7a in _clutter_context_get_default () at ../clutter/clutter/clutter-main.c:477
#12 _clutter_context_get_default () at ../clutter/clutter/clutter-main.c:475
#13 0x00007fbc9dfeb069 in clutter_get_default_backend () at ../clutter/clutter/clutter-backend.c:520
#14 0x00007fbc9defad5a in st_theme_context_finalize (object=0x561359be30a0 [StThemeContext]) at ../src/st/st-theme-context.c:108
#15 0x00007fbc9ebd746c in g_object_unref (_object=0x561359be30a0) at ../../../gobject/gobject.c:3938
#16 g_object_unref (_object=0x561359be30a0) at ../../../gobject/gobject.c:3802
#17 0x00007fbc9e106eee in ObjectInstance::disassociate_js_gobject() (this=0x56135a27b600) at ../gi/object.cpp:1752
#18 0x00007fbc9e1049e3 in std::function<void (ObjectInstance*)>::operator()(ObjectInstance*) const (__args#0=<optimized out>, this=0x7ffd55f6ff00) at /usr/include/c++/12/bits/std_function.h:591
#19 operator() (link=0x56135a27b600, __closure=0x7ffd55f6fee0) at ../gi/object.cpp:1307
#20 __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=0x7ffd55f6fee0) at /usr/include/c++/12/bits/predefined_ops.h:318
#21 std::__find_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=0x656d616e206e6f69, __first=0x56135a27b600) at /usr/include/c++/12/bits/stl_algobase.h:2075
#22 std::__find_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=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++/12/bits/stl_algobase.h:2112
#23 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=0x656d616e206e6f69, __first=Python Exception <class 'gdb.error'>: value has been optimized out
) at /usr/include/c++/12/bits/stl_algobase.h:2134
#24 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++/12/bits/stl_algo.h:877
#25 ObjectInstance::remove_wrapped_gobjects_if(std::function<bool (ObjectInstance*)> const&, std::function<void (ObjectInstance*)> const&) (predicate=<optimized out>, action=<optimized out>)
at ../gi/object.cpp:1303
#26 0x00007fbc9e106c24 in ObjectInstance::update_heap_wrapper_weak_pointers(JSTracer*, JS::Compartment*, void*) (trc=<optimized out>) at ../gi/object.cpp:1600
#27 0x00007fbc9b42fb2c in js::gc::GCRuntime::callWeakPointerCompartmentCallbacks(JSTracer*, JS::Compartment*) const (this=this@entry=0x56135970a890, trc=trc@entry=0x56135970b3a0, comp=0x56135976ef90)
at ./js/src/gc/GC.cpp:1355
#28 0x00007fbc9b471647 in js::gc::GCRuntime::sweepEmbeddingWeakPointers(JS::GCContext*) (this=this@entry=0x56135970a890, gcx=gcx@entry=0x56135970a8a8) at ./js/src/gc/Sweeping.cpp:1427
#29 0x00007fbc9b47ba32 in js::gc::GCRuntime::beginSweepingSweepGroup(JS::GCContext*, js::SliceBudget&) (this=<optimized out>, gcx=0x56135970a8a8, budget=<optimized out>) at ./js/src/gc/Sweeping.cpp:1493
#30 0x00007fbc9b46304c in sweepaction::SweepActionSequence::run(js::gc::SweepAction::Args&) (this=0x561359700b00, args=...) at ./js/src/gc/Sweeping.cpp:2085
#31 0x00007fbc9b4701d5 in sweepaction::SweepActionForEach<js::gc::SweepGroupsIter, JSRuntime*>::run(js::gc::SweepAction::Args&) (this=0x561359700c00, args=...) at ./js/src/gc/Sweeping.cpp:2120
#32 0x00007fbc9b4721b3 in js::gc::GCRuntime::performSweepActions(js::SliceBudget&) (this=this@entry=0x56135970a890, budget=...) at ./js/src/gc/Sweeping.cpp:2256
#33 0x00007fbc9b449985 in js::gc::GCRuntime::incrementalSlice(js::SliceBudget&, JS::GCReason, bool)
(this=this@entry=0x56135970a890, budget=..., reason=JS::GCReason::COMPONENT_UTILS, budgetWasIncreased=budgetWasIncreased@entry=false) at ./js/src/gc/GC.cpp:3255
#34 0x00007fbc9b449f69 in js::gc::GCRuntime::gcCycle(bool, js::SliceBudget const&, JS::GCReason)
(this=this@entry=0x56135970a890, nonincrementalByAPI=nonincrementalByAPI@entry=true, budgetArg=..., reason=<optimized out>, reason@entry=JS::GCReason::COMPONENT_UTILS) at ./js/src/gc/GC.cpp:3736
#35 0x00007fbc9b44a1ff in js::gc::GCRuntime::collect(bool, js::SliceBudget const&, JS::GCReason)
(this=0x56135970a890, nonincrementalByAPI=nonincrementalByAPI@entry=true, budget=..., reason=JS::GCReason::COMPONENT_UTILS) at ./js/src/gc/GC.cpp:3920
#36 0x00007fbc9b44a5c2 in js::gc::GCRuntime::gc(JS::GCOptions, JS::GCReason) (this=<optimized out>, options=options@entry=JS::GCOptions::Normal, reason=reason@entry=JS::GCReason::COMPONENT_UTILS)
at ./js/src/gc/GC.cpp:3998
#37 0x00007fbc9b26c52d in JS_GC(JSContext*, JS::GCReason) (cx=<optimized out>, reason=reason@entry=JS::GCReason::COMPONENT_UTILS) at ./js/src/jsapi.cpp:1305
#38 0x00007fbc9e12e315 in GjsContextPrivate::dispose() (this=0x5613596fee90) at ../gjs/context.cpp:444
#39 0x00007fbc9ebd73a0 in g_object_unref (_object=0x5613596ff000) at ../../../gobject/gobject.c:3891
#40 g_object_unref (_object=0x5613596ff000) at ../../../gobject/gobject.c:3802
#41 0x00007fbc9ee29249 in _shell_global_destroy_gjs_context (self=<optimized out>) at ../src/shell-global.c:702
#42 0x0000561358dac978 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:593