SUMMARY Spectacle crashed when disabling screen where Spectacle is opened and took a rectangular region screenshot STEPS TO REPRODUCE 1. Have two screens 2. Open Spectacle on your 2nd screen 3. Take a rectengular region screenshot 4. Disable this screen in kscreen OBSERVED RESULT Spectacle crashes. Reproducible: Always ``` (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007f7684a94993 in __pthread_kill_internal (signo=11, threadid=<optimized out>) at pthread_kill.c:78 #2 0x00007f7684a43196 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26 #3 0x00007f76855ddd3a in KCrash::defaultCrashHandler (sig=11) at /usr/src/debug/kcrash-5.105.0/src/kcrash.cpp:626 #4 <signal handler called> #5 0x0000000000000320 in ?? () #6 0x00007f7685325232 in QtPrivate::QSlotObjectBase::call (a=0x7fff7dd679e0, r=0x7fff7dd68410, this=0x55f87f19a110) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #7 doActivate<false> (sender=0x7fff7dd683c0, signal_index=10, argv=0x7fff7dd679e0) at kernel/qobject.cpp:3923 #8 0x00007f768531de2f in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f7685d15fa0, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7fff7dd679e0) at kernel/qobject.cpp:3983 #9 0x00007f768576e8f2 in QGuiApplication::screenRemoved (this=<optimized out>, _t1=<optimized out>, _t1@entry=0x55f87ed37780) at .moc/moc_qguiapplication.cpp:396 #10 0x00007f76857a5df8 in QScreen::~QScreen (this=0x55f87ed37780, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:116 #11 0x00007f76857a5f69 in QScreen::~QScreen (this=0x55f87ed37780, __in_chrg=<optimized out>) at kernel/qscreen.cpp:178 #12 0x00007f768574f247 in QWindowSystemInterface::handleScreenRemoved (platformScreen=0x55f87ed98a90) at kernel/qwindowsysteminterface.cpp:844 #13 0x00007f76872a5c02 in QtWaylandClient::QWaylandDisplay::registry_global_remove (this=0x55f87ed7a260, id=70) at qwaylanddisplay.cpp:571 #14 0x00007f76862a58d2 in ffi_call_unix64 () at ../src/x86/unix64.S:104 #15 0x00007f76862a224f in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:673 #16 0x00007f76862a4e96 in ffi_call (cif=cif@entry=0x7fff7dd67cc0, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7fff7dd67d90) at ../src/x86/ffi64.c:710 #17 0x00007f768792ca23 in wl_closure_invoke (closure=closure@entry=0x7f766c002c40, target=<optimized out>, target@entry=0x55f87ed7e830, opcode=opcode@entry=1, data=<optimized out>, flags=1) at ../src/connection.c:1025 #18 0x00007f768792d203 in dispatch_event (display=display@entry=0x55f87ed7e6b0, queue=0x55f87ed7e7a0) at ../src/wayland-client.c:1631 #19 0x00007f768792d494 in dispatch_queue (queue=0x55f87ed7e7a0, display=0x55f87ed7e6b0) at ../src/wayland-client.c:1777 #20 wl_display_dispatch_queue_pending (display=0x55f87ed7e6b0, queue=0x55f87ed7e7a0) at ../src/wayland-client.c:2019 #21 0x00007f76872a2a12 in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at qwaylanddisplay.cpp:255 #22 0x00007f7685318c50 in QObject::event (this=0x55f87ed7a260, e=0x7f766c001ee0) at kernel/qobject.cpp:1347 #23 0x00007f7686ba51ae in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55f87ed7a260, e=0x7f766c001ee0) at kernel/qapplication.cpp:3640 #24 0x00007f76852ec978 in QCoreApplication::notifyInternal2 (receiver=0x55f87ed7a260, event=0x7f766c001ee0) at kernel/qcoreapplication.cpp:1064 #25 0x00007f76852eff71 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55f87ed71230) at kernel/qcoreapplication.cpp:1821 #26 0x00007f7685346713 in postEventSourceDispatch (s=0x55f87ed952a0) at kernel/qeventdispatcher_glib.cpp:277 #27 0x00007f7682d028d8 in g_main_dispatch (context=0x7f7674000ee0) at ../glib/gmain.c:3460 #28 g_main_context_dispatch (context=context@entry=0x7f7674000ee0) at ../glib/gmain.c:4200 #29 0x00007f7682d02ce8 in g_main_context_iterate (context=context@entry=0x7f7674000ee0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4276 #30 0x00007f7682d02d7c in g_main_context_iteration (context=0x7f7674000ee0, may_block=1) at ../glib/gmain.c:4343 #31 0x00007f7685345f26 in QEventDispatcherGlib::processEvents (this=0x55f87ed36d30, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #32 0x00007f76852eb40b in QEventLoop::exec (this=this@entry=0x7fff7dd682e0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #33 0x00007f76852f38a0 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #34 0x00007f768576fe3c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1870 #35 0x00007f7686ba5125 in QApplication::exec () at kernel/qapplication.cpp:2832 #36 0x000055f87cf8a962 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/spectacle-23.04.0/src/Main.cpp:109 ``` ``` (gdb) bt full #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44 tid = <optimized out> ret = 0 pd = <optimized out> old_mask = {__val = {140735304591192}} ret = <optimized out> #1 0x00007f7684a94993 in __pthread_kill_internal (signo=11, threadid=<optimized out>) at pthread_kill.c:78 No locals. #2 0x00007f7684a43196 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26 ret = <optimized out> #3 0x00007f76855ddd3a in KCrash::defaultCrashHandler (sig=11) at /usr/src/debug/kcrash-5.105.0/src/kcrash.cpp:626 crashRecursionCounter = 2 #4 <signal handler called> No locals. #5 0x0000000000000320 in ?? () No symbol table info available. #6 0x00007f7685325232 in QtPrivate::QSlotObjectBase::call (a=0x7fff7dd679e0, r=0x7fff7dd68410, this=0x55f87f19a110) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 No locals. #7 doActivate<false> (sender=0x7fff7dd683c0, signal_index=10, argv=0x7fff7dd679e0) at kernel/qobject.cpp:3923 obj = <optimized out> receiver = 0x7fff7dd68410 td = <optimized out> receiverInSameThread = <optimized out> senderData = {previous = 0x0, receiver = 0x7fff7dd68410, sender = 0x7fff7dd683c0, signal = 10} c = 0x55f87f199b40 connections = {d = 0x55f87efa36a0} list = <optimized out> inSenderThread = <optimized out> highestConnectionId = 236 signalVector = <optimized out> currentThreadId = 0x7f767d216f40 sp = <optimized out> signal_spy_set = 0x0 empty_argv = {0x0} senderDeleted = false #8 0x00007f768531de2f in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f7685d15fa0, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7fff7dd679e0) at kernel/qobject.cpp:3983 signal_index = <optimized out> #9 0x00007f768576e8f2 in QGuiApplication::screenRemoved (this=<optimized out>, _t1=<optimized out>, _t1@entry=0x55f87ed37780) at .moc/moc_qguiapplication.cpp:396 _a = {0x0, 0x7fff7dd679d8} #10 0x00007f76857a5df8 in QScreen::~QScreen (this=0x55f87ed37780, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:116 wasPrimary = false newPrimaryScreen = 0x55f87ed38200 movingFromVirtualSibling = <optimized out> allWindows = {<QListSpecialMethods<QWindow*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = std::atomic<int> = { -1 }}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fff7dd67c10}, d = 0x7fff7dd67c10}} wasPrimary = <optimized out> newPrimaryScreen = <optimized out> movingFromVirtualSibling = <optimized out> allWindows = <optimized out> window = <optimized out> __for_range = <optimized out> __for_begin = <optimized out> __for_end = <optimized out> wasVisible = <optimized out> #11 0x00007f76857a5f69 in QScreen::~QScreen (this=0x55f87ed37780, __in_chrg=<optimized out>) at kernel/qscreen.cpp:178 wasPrimary = <optimized out> newPrimaryScreen = <optimized out> movingFromVirtualSibling = <optimized out> allWindows = <optimized out> window = <optimized out> __for_range = <optimized out> __for_begin = <optimized out> __for_end = <optimized out> wasVisible = <optimized out> #12 0x00007f768574f247 in QWindowSystemInterface::handleScreenRemoved (platformScreen=0x55f87ed98a90) at kernel/qwindowsysteminterface.cpp:844 No locals. #13 0x00007f76872a5c02 in QtWaylandClient::QWaylandDisplay::registry_global_remove (this=0x55f87ed7a260, id=70) at qwaylanddisplay.cpp:571 screen = 0x55f87ed98a90 __for_range = @0x55f87ed7a2c0: {<QListSpecialMethods<QtWaylandClient::QWaylandScreen*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = std::atomic<int> = { -1 }}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x55f87ed9cd70}, d = 0x55f87ed9cd70}} __for_begin = <optimized out> __for_end = <optimized out> global = @0x55f87eda4ba0: {id = 70, interface = {d = 0x55f87ed72980}, version = 4, registry = 0x55f87ed7e830} i = 50 ie = <optimized out> #14 0x00007f76862a58d2 in ffi_call_unix64 () at ../src/x86/unix64.S:104 No locals. #15 0x00007f76862a224f in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:673 classes = {X86_64_INTEGERSI_CLASS, 32767, 2250901852, 32630} stack = <optimized out> argp = 0x7fff7dd67b00 "" arg_types = <optimized out> gprcount = 3 ssecount = <optimized out> ngpr = 1 nsse = 0 i = <optimized out> avn = <optimized out> flags = <optimized out> reg_args = <optimized out> #16 0x00007f76862a4e96 in ffi_call (cif=cif@entry=0x7fff7dd67cc0, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7fff7dd67d90) at ../src/x86/ffi64.c:710 arg_types = 0x7fff7dd67ce0 i = <optimized out> nargs = 3 max_reg_struct_size = <optimized out> #17 0x00007f768792ca23 in wl_closure_invoke (closure=closure@entry=0x7f766c002c40, target=<optimized out>, target@entry=0x55f87ed7e830, opcode=opcode@entry=1, data=<optimized out>, flags=1) at ../src/connection.c:1025 count = <optimized out> cif = {abi = FFI_UNIX64, nargs = 3, arg_types = 0x7fff7dd67ce0, rtype = 0x7f76862a61a0 <ffi_type_void>, bytes = 0, flags = 0} ffi_types = {0x7f76862a62a0 <ffi_type_pointer>, 0x7f76862a62a0 <ffi_type_pointer>, 0x7f76862a6240 <ffi_type_uint32>, 0x7f76862a6330 <ffi_type_sint32>, 0x7f76862a6330 <ffi_type_sint32>, 0x7f76862a6330 <ffi_type_sint32>, 0x7f76862a6330 <ffi_type_sint32>, 0x7f76862a62a0 <ffi_type_pointer>, 0x7f76862a62a0 <ffi_type_pointer>, 0x7f76862a6330 <ffi_type_sint32>, 0x70, 0x55f87f7b70b0, 0xffffffffffffffff, 0x7fff7dd67dd0, 0x7fff7dd67d3f, 0x79b98bb22295f200, 0x8000000000000000, 0x8000000000000000, 0x22e000002fa, 0x7fff7dd67f00, 0x55f87f1864d0, 0x55f87ed71230} ffi_args = {0x7fff7dd67ca0, 0x7fff7dd67ca8, 0x7f766c002c58, 0x7f766c002990, 0x7f766c002878, 0x7f766c002880, 0x7f766c002888, 0x7f766c002890, 0x7f766c002898, 0x7f766c0028a0, 0x3, 0x0, 0x0, 0x7f76855ce4d0, 0x7fff7dd67e40, 0x79b98bb22295f200, 0x55f880c10ac0, 0xfffffffffffffed8, 0xb, 0x7f7686bac506 <QApplication::notify(QObject*, QEvent*)+134>, 0x55f87ed7a260, 0x7f7684aa0f80 <_int_free+530>} implementation = <optimized out> #18 0x00007f768792d203 in dispatch_event (display=display@entry=0x55f87ed7e6b0, queue=0x55f87ed7e7a0) at ../src/wayland-client.c:1631 closure = 0x7f766c002c40 proxy = 0x55f87ed7e830 opcode = 1 proxy_destroyed = <optimized out> #19 0x00007f768792d494 in dispatch_queue (queue=0x55f87ed7e7a0, display=0x55f87ed7e6b0) at ../src/wayland-client.c:1777 count = 7 count = <optimized out> err = <optimized out> #20 wl_display_dispatch_queue_pending (display=0x55f87ed7e6b0, queue=0x55f87ed7e7a0) at ../src/wayland-client.c:2019 ret = <optimized out> #21 0x00007f76872a2a12 in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at qwaylanddisplay.cpp:255 No locals. #22 0x00007f7685318c50 in QObject::event (this=0x55f87ed7a260, e=0x7f766c001ee0) at kernel/qobject.cpp:1347 mce = 0x7f766c001ee0 sender = {previous = 0x0, receiver = 0x55f87ed7a260, sender = 0x55f87ed7ccb0, signal = 5} #23 0x00007f7686ba51ae in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55f87ed7a260, e=0x7f766c001ee0) at kernel/qapplication.cpp:3640 consumed = false filtered = false #24 0x00007f76852ec978 in QCoreApplication::notifyInternal2 (receiver=0x55f87ed7a260, event=0x7f766c001ee0) at kernel/qcoreapplication.cpp:1064 selfRequired = true result = false cbdata = {0x55f87ed7a260, 0x7f766c001ee0, 0x7fff7dd67fff} d = <optimized out> threadData = 0x55f87ed71230 scopeLevelCounter = {threadData = 0x55f87ed71230} #25 0x00007f76852eff71 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55f87ed71230) at kernel/qcoreapplication.cpp:1821 e = 0x7f766c001ee0 pe = <optimized out> r = <optimized out> relocker = <optimized out> event_deleter = {d = 0x7f766c001ee0} locker = {_M_device = 0x55f87ed71260, _M_owns = false} startOffset = 0 i = @0x55f87ed71254: 1 cleanup = {receiver = 0x0, event_type = 0, data = 0x55f87ed71230, exceptionCaught = true} #26 0x00007f7685346713 in postEventSourceDispatch (s=0x55f87ed952a0) at kernel/qeventdispatcher_glib.cpp:277 source = 0x55f87ed952a0 #27 0x00007f7682d028d8 in g_main_dispatch (context=0x7f7674000ee0) at ../glib/gmain.c:3460 dispatch = 0x7f7685346700 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)> prev_source = 0x0 begin_time_nsec = 0 was_in_call = 0 user_data = 0x0 callback = 0x0 cb_funcs = 0x0 cb_data = 0x0 need_destroy = <optimized out> source = 0x55f87ed952a0 current = 0x55f87f1961f0 i = 0 current = <optimized out> i = <optimized out> __func__ = "g_main_dispatch" source = <optimized out> _g_boolean_var_163 = <optimized out> was_in_call = <optimized out> user_data = <optimized out> callback = <optimized out> cb_funcs = <optimized out> cb_data = <optimized out> need_destroy = <optimized out> dispatch = <optimized out> prev_source = <optimized out> begin_time_nsec = <optimized out> _g_boolean_var_164 = <optimized out> #28 g_main_context_dispatch (context=context@entry=0x7f7674000ee0) at ../glib/gmain.c:4200 No locals. #29 0x00007f7682d02ce8 in g_main_context_iterate (context=context@entry=0x7f7674000ee0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4276 max_priority = 2147483647 timeout = 85861 some_ready = 1 nfds = <optimized out> allocated_nfds = 4 fds = 0x55f87f406de0 begin_time_nsec = 0 #30 0x00007f7682d02d7c in g_main_context_iteration (context=0x7f7674000ee0, may_block=1) at ../glib/gmain.c:4343 retval = <optimized out> #31 0x00007f7685345f26 in QEventDispatcherGlib::processEvents (this=0x55f87ed36d30, flags=...) at kernel/qeventdispatcher_glib.cpp:423 d = 0x55f87ed9a3e0 canWait = true savedFlags = {i = 0} result = <optimized out> #32 0x00007f76852eb40b in QEventLoop::exec (this=this@entry=0x7fff7dd682e0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 d = 0x55f87f0e20f0 threadData = <optimized out> locker = {val = 94525768274696} ref = <optimized out> app = <optimized out> #33 0x00007f76852f38a0 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 threadData = 0x55f87ed71230 eventLoop = {<QObject> = {_vptr.QObject = 0x7f76855c5f88 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f76854bb100 <qt_meta_stringdata_QObject>, data = 0x7f76854bafe0 <qt_meta_data_QObject>, static_metacall = 0x7f76853232a0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x55f87f0e20f0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f76854be0a0 <qt_meta_stringdata_Qt>, data = 0x7f76854bb220 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x55f87d01c6a0 <QObject::staticMetaObject>}, stringdata = 0x7f76854b58c0 <qt_meta_stringdata_QEventLoop>, data = 0x7f76854b5860 <qt_meta_data_QEventLoop>, static_metacall = 0x7f76852eb140 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}} returnCode = <optimized out> #34 0x00007f768576fe3c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1870 No locals. #35 0x00007f7686ba5125 in QApplication::exec () at kernel/qapplication.cpp:2832 No locals. #36 0x000055f87cf8a962 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/spectacle-23.04.0/src/Main.cpp:109 app = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x7f76870baf08 <vtable for QApplication+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f76854bb100 <qt_meta_stringdata_QObject>, data = 0x7f76854bafe0 <qt_meta_data_QObject>, static_metacall = 0x7f76853232a0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x55f87ed73820}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f76854be0a0 <qt_meta_stringdata_Qt>, data = 0x7f76854bb220 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x55f87d01c6a0 <QObject::staticMetaObject>}, stringdata = 0x7f76854b5fc0 <qt_meta_stringdata_QCoreApplication>, data = 0x7f76854b5ea0 <qt_meta_data_QCoreApplication>, static_metacall = 0x7f76852ee150 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x7fff7dd683c0}, static staticMetaObject = {d = {superdata = {direct = 0x55f87d01cac0 <QCoreApplication::staticMetaObject>}, stringdata = 0x7f7685c157c0 <qt_meta_stringdata_QGuiApplication>, data = 0x7f7685c15540 <qt_meta_data_QGuiApplication>, static_metacall = 0x7f7685775670 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x55f87d01ce40 <QGuiApplication::staticMetaObject>}, stringdata = 0x7f7686f558c0 <qt_meta_stringdata_QApplication>, data = 0x7f7686f55740 <qt_meta_data_QApplication>, static_metacall = 0x7f7686ba8db0 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}} aboutData = {d = std::unique_ptr<KAboutDataPrivate> = {get() = 0x55f87ef75ef0}} commandLineParser = {d = 0x55f87ef10e90} disableSessionManagement = <optimized out> service = {<QObject> = {_vptr.QObject = 0x7f76876451e0 <vtable for KDBusService+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f76854bb100 <qt_meta_stringdata_QObject>, data = 0x7f76854bafe0 <qt_meta_data_QObject>, static_metacall = 0x7f76853232a0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x55f87efa0190}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f76854be0a0 <qt_meta_stringdata_Qt>, data = 0x7f76854bb220 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x55f87d01c6a0 <QObject::staticMetaObject>}, stringdata = 0x7f7687640760 <qt_meta_stringdata_KDBusService>, data = 0x7f768763f700 <qt_meta_data_KDBusService>, static_metacall = 0x7f7687635e40 <KDBusService::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = std::unique_ptr<KDBusServicePrivate> = {get() = 0x55f87efa01f0}} spectacleCore = {<QObject> = {_vptr.QObject = 0x55f87d01ed80 <vtable for SpectacleCore+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f76854bb100 <qt_meta_stringdata_QObject>, data = 0x7f76854bafe0 <qt_meta_data_QObject>, static_metacall = 0x7f76853232a0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x55f87f19ea80}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f76854be0a0 <qt_meta_stringdata_Qt>, data = 0x7f76854bb220 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x55f87d01c6a0 <QObject::staticMetaObject>}, stringdata = 0x55f87cfef400 <_ZL32qt_meta_stringdata_SpectacleCore.lto_priv.0>, data = 0x55f87cfea540 <_ZL26qt_meta_data_SpectacleCore.lto_priv.0>, static_metacall = 0x55f87cf90d40 <SpectacleCore::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_annotationDocument = std::unique_ptr<AnnotationDocument> = {get() = 0x55f87f19eb70}, m_startMode = SpectacleCore::StartMode::Gui, m_screenCaptureUrl = {d = 0x0}, m_platform = std::unique_ptr<Platform> = {get() = 0x55f87f1a0670}, m_videoPlatform = std::unique_ptr<VideoPlatform> = {get() = 0x55f87f19edd0}, m_captureModeModel = std::unique_ptr<CaptureModeModel> = {get() = 0x55f87f190f40}, m_recordingModeModel = std::unique_ptr<RecordingModeModel> = {get() = 0x55f87f190e50}, m_engine = std::unique_ptr<QQmlEngine> = {get() = 0x55f87ef33c10}, m_annotationSyncTimer = std::unique_ptr<QTimer> = {get() = 0x55f87f19f080}, m_delayAnimation = std::unique_ptr<QVariantAnimation> = {get() = 0x55f87f197f90}, m_eventLoopLocker = std::unique_ptr<QEventLoopLocker> = {get() = 0x0}, m_viewerWindow = std::unique_ptr<ViewerWindow> = {get() = 0x55f87f7b70b0}, m_captureWindows = std::vector of length -1, capacity 4 = {std::unique_ptr<CaptureWindow> = {get() = 0x55f87f106830}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f41e5d0}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f264d60}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f241ed0}, std::unique_ptr<CaptureWindow> = {get() = 0x21}, std::unique_ptr<CaptureWindow> = {get() = 0x1}, std::unique_ptr<CaptureWindow> = {get() = 0x4a1}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f243650}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x30}, std::unique_ptr<CaptureWindow> = {get() = 0x7f763adb2ac0 <QtPrivate::QSlotObject<void (PlasmaDesktopTheme::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)>}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x60}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f264830}, std::unique_ptr<CaptureWindow> = {get() = 0x600000000}, std::unique_ptr<CaptureWindow> = {get() = 0x91}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f59a860}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x60}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f2648c0}, std::unique_ptr<CaptureWindow> = {get() = 0x700000000}, std::unique_ptr<CaptureWindow> = {get() = 0x80}, std::unique_ptr<CaptureWindow> = {get() = 0x2323ffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0x3ff0000000000000}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x3ff0000000000000}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x151}, std::unique_ptr<CaptureWindow> = {get() = 0x7f7684beace0 <main_arena+96>}, std::unique_ptr<CaptureWindow> = {get() = 0x3ff0000000000000}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x3ff0000000000000}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0xd1}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f265360}, std::unique_ptr<CaptureWindow> = {get() = 0x3ff0000000000000}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x3ff0000000000000}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x51}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f6351a0}, std::unique_ptr<CaptureWindow> = {get() = 0x73746e6ffffffff1}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f3fd2f0}, std::unique_ptr<CaptureWindow> = {get() = 0x20}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x221}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f264c28}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0xe00000000}, std::unique_ptr<CaptureWindow> = {get() = 0x2000000003}, std::unique_ptr<CaptureWindow> = {get() = 0x2c00000000}, std::unique_ptr<CaptureWindow> = {get() = 0x1}, std::unique_ptr<CaptureWindow> = {get() = 0x300000006}, std::unique_ptr<CaptureWindow> = {get() = 0x600000002}, std::unique_ptr<CaptureWindow> = {get() = 0x20000001f}, std::unique_ptr<CaptureWindow> = {get() = 0x2b0000002b}, std::unique_ptr<CaptureWindow> = {get() = 0x600404003}, std::unique_ptr<CaptureWindow> = {get() = 0x100000007}, std::unique_ptr<CaptureWindow> = {get() = 0x200000001}, std::unique_ptr<CaptureWindow> = {get() = 0x12ffffffff}, std::unique_ptr<CaptureWindow> = {get() = 0xc0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0xffffffff}, std::unique_ptr<CaptureWindow> = {get() = 0xc4}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x10ffffffff}, std::unique_ptr<CaptureWindow> = {get() = 0x73}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0xeffffffff}, std::unique_ptr<CaptureWindow> = {get() = 0x8e}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x74496b6369755151}, std::unique_ptr<CaptureWindow> = {get() = 0x69746c756d003633}, std::unique_ptr<CaptureWindow> = {get() = 0x706d6f6300646567}, std::unique_ptr<CaptureWindow> = {get() = 0x6d65720000646567}, std::unique_ptr<CaptureWindow> = {get() = 0x676e616843687464}, std::unique_ptr<CaptureWindow> = {get() = 0x746c756d00657465}, std::unique_ptr<CaptureWindow> = {get() = 0x57676e696e69616d}, std::unique_ptr<CaptureWindow> = {get() = 0x71}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87ed7e6b0}, std::unique_ptr<CaptureWindow> = {get() = 0x100000000}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f3e67c0}, std::unique_ptr<CaptureWindow> = {get() = 0x201}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f3ea210}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87d01c7a0 <QListData::shared_null>}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87ed71230}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87d01ccc0 <QArrayData::shared_null>}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87d01c7a0 <QListData::shared_null>}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87d01c7a0 <QListData::shared_null>}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87d01ccc0 <QArrayData::shared_null>}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x20}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f22da30}, std::unique_ptr<CaptureWindow> = {get() = 0xb1}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f570bc0}, std::unique_ptr<CaptureWindow> = {get() = 0x4}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f45ce10}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f566420}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x1000d0019}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87d01ccc0 <QArrayData::shared_null>}, std::unique_ptr<CaptureWindow> = {get() = 0x7f7634170e10}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x70}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f22e320}, std::unique_ptr<CaptureWindow> = {get() = 0x3d00000000}, std::unique_ptr<CaptureWindow> = {get() = 0x2e3830494262756c}, std::unique_ptr<CaptureWindow> = {get() = 0x20}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x301}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f247090}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f2651b0}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f2663f0}, std::unique_ptr<CaptureWindow> = {get() = 0x2323ffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0x7070ffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0x2323ffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0x3030ffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0x3030ffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0x9b9bffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0xdadaffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0xf6f6ffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0x2727ffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0xefefffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0xe3e3ffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0xd01bffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0xd93fffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0xd93fffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0xe94effff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0xf607ffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0xfb85ffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0xad4cffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0x3030ffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0x3030ffff00000001}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87efd6230}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f407d80}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f665d60}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f3abc30}, std::unique_ptr<CaptureWindow> = {get() = 0x60}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f265000}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87d01c7a0 <QListData::shared_null>}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87ed71230}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x21}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f557d40}, std::unique_ptr<CaptureWindow> = {get() = 0x30}, std::unique_ptr<CaptureWindow> = {get() = 0x40000}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f908180}, std::unique_ptr<CaptureWindow> = {get() = 0x91}, std::unique_ptr<CaptureWindow> = {get() = 0x55f87f3e44b0}, std::unique_ptr<CaptureWindow> = {get() = 0x0}, std::unique_ptr<CaptureWindow> = {get() = 0x60}...}, m_copyImageToClipboard = false, m_copyLocationToClipboard = false, m_saveToOutput = false, m_cliOptions = {_M_elems = {false <repeats 20 times>}}, m_editExistingUrl = {d = 0x0}, m_outputUrl = {d = 0x0}, m_lastGrabMode = Platform::PerScreenImageNative, m_lastIncludePointer = false, m_lastIncludeDecorations = false, m_videoMode = false, m_currentVideo = {d = 0x0}} dbusAdapter = 0x55f87f0e14a0 ``` SOFTWARE/OS VERSIONS Operating System: openSUSE Tumbleweed 20230507 KDE Plasma Version: 5.27.4 KDE Frameworks Version: 5.105.0 Qt Version: 5.15.9 Kernel Version: 6.3.1-1-default (64-bit) Graphics Platform: Wayland Graphics Processor: AMD Radeon RX 580 Series
Can reproduce 100% on Wayland. Haven't tried X11 due to multi-screen being mostly non-functional for me there because my screens need different scale factors t behave properly.
*** Bug 469311 has been marked as a duplicate of this bug. ***
*** Bug 470009 has been marked as a duplicate of this bug. ***
*** Bug 469952 has been marked as a duplicate of this bug. ***
Created attachment 159211 [details] New crash information added by DrKonqi spectacle (23.04.1) using Qt 5.15.9 Spectacle crashes when I unplug my second screen -- Backtrace (Reduced): #6 0x00007f530fb420e7 in QGuiApplication::screenRemoved(QScreen*) () at /usr/lib/libQt5Gui.so.5 #7 0x00007f530fb6a994 in QScreen::~QScreen() () at /usr/lib/libQt5Gui.so.5 #8 0x00007f530fb289e7 in QWindowSystemInterface::handleScreenRemoved(QPlatformScreen*) () at /usr/lib/libQt5Gui.so.5 #9 0x00007f53117837be in QtWaylandClient::QWaylandDisplay::registry_global_remove(unsigned int) (this=0x55ece71e8080, id=58) at /usr/src/debug/qt5-wayland/qtwayland/src/client/qwaylanddisplay.cpp:571 #10 0x00007f5310d584f6 in ffi_call_unix64 () at ../src/x86/unix64.S:104
*** Bug 468694 has been marked as a duplicate of this bug. ***
Turns out this is not a specific Spectacle issue, Dolphin 23.04.1 just crashed for me with the same stacktrace under the same conditions: ``` Application: Dolphin (dolphin), signal: Segmentation fault Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>} [KCrash Handler] #6 QWeakPointer<QObject>::internalData (this=0xb8cf253e26b7ff25) at ../../include/QtCore/../../src/corelib/tools/qsharedpointer_impl.h:696 #7 QPointer<QScreen>::data (this=0xb8cf253e26b7ff25) at ../../include/QtCore/../../src/corelib/kernel/qpointer.h:77 #8 QPointer<QScreen>::operator QScreen* (this=0xb8cf253e26b7ff25) at ../../include/QtCore/../../src/corelib/kernel/qpointer.h:83 #9 QPlatformScreen::screen (this=this@entry=0x562d512428d0) at kernel/qplatformscreen.cpp:154 #10 0x00007f4a5a927013 in QtWaylandClient::QWaylandWindow::handleScreensChanged (this=0x562d50dd92c0) at qwaylandwindow.cpp:1047 #11 0x00007f4a5cf25232 in QtPrivate::QSlotObjectBase::call (a=0x7ffe8c1efe30, r=0x562d50dd92c0, this=0x562d50d3e530) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #12 doActivate<false> (sender=0x562d5136b130, signal_index=3, argv=0x7ffe8c1efe30) at kernel/qobject.cpp:3923 #13 0x00007f4a59ca08d2 in ffi_call_unix64 () at ../src/x86/unix64.S:104 #14 0x00007f4a59c9d24f in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:673 #15 0x00007f4a59c9fe96 in ffi_call (cif=cif@entry=0x7ffe8c1f0040, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffe8c1f0110) at ../src/x86/ffi64.c:710 #16 0x00007f4a5ae13a23 in wl_closure_invoke (closure=closure@entry=0x7f4a48003110, target=<optimized out>, target@entry=0x562d50be4df0, opcode=opcode@entry=0, data=<optimized out>, flags=1) at ../src/connection.c:1025 #17 0x00007f4a5ae14203 in dispatch_event (display=display@entry=0x562d5076b1a0, queue=0x562d5076b290) at ../src/wayland-client.c:1631 #18 0x00007f4a5ae14494 in dispatch_queue (queue=0x562d5076b290, display=0x562d5076b1a0) at ../src/wayland-client.c:1777 #19 wl_display_dispatch_queue_pending (display=0x562d5076b1a0, queue=0x562d5076b290) at ../src/wayland-client.c:2019 #20 0x00007f4a5a92178d in QtWaylandClient::QWaylandDisplay::blockingReadEvents (this=0x562d50766970) at qwaylanddisplay.cpp:444 #21 0x00007f4a5a9181d1 in QtWaylandClient::QWaylandShmBackingStore::resize (this=this@entry=0x562d50c6a450, size=...) at qwaylandshmbackingstore.cpp:295 #22 0x00007f4a5a9183cd in QtWaylandClient::QWaylandShmBackingStore::ensureSize (this=this@entry=0x562d50c6a450) at qwaylandshmbackingstore.cpp:212 #23 0x00007f4a5a9183f9 in QtWaylandClient::QWaylandShmBackingStore::beginPaint (this=this@entry=0x562d50c6a450, region=...) at qwaylandshmbackingstore.cpp:187 #24 0x00007f4a5d551ccf in QBackingStore::beginPaint (this=0x562d50be5a10, region=...) at painting/qbackingstore.cpp:138 #25 0x00007f4a5dbb635a in QWidgetRepaintManager::paintAndFlush (this=0x562d50a708d0) at kernel/qwidgetrepaintmanager.cpp:989 #26 0x00007f4a5dbe7406 in QWidget::event (this=0x562d5099de50, event=0x562d51254b50) at kernel/qwidget.cpp:8990 #27 0x00007f4a5e94f6a9 in KXmlGuiWindow::event (this=0x562d5099de50, ev=0x562d51254b50) at /usr/src/debug/kxmlgui-5.106.0/src/kxmlguiwindow.cpp:220 #28 0x00007f4a5dba51ae in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x562d5099de50, e=0x562d51254b50) at kernel/qapplication.cpp:3640 #29 0x00007f4a5ceec978 in QCoreApplication::notifyInternal2 (receiver=0x562d5099de50, event=0x562d51254b50) at kernel/qcoreapplication.cpp:1064 #30 0x00007f4a5ceeff71 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x562d5099de50, event_type=77, data=0x562d5073af50) at kernel/qcoreapplication.cpp:1821 #31 0x00007f4a5ded63f3 in QGraphicsViewPrivate::dispatchPendingUpdateRequests (this=<optimized out>) at ../../include/QtWidgets/5.15.9/QtWidgets/private/../../../../../src/widgets/graphicsview/qgraphicsview_p.h:191 #32 QGraphicsViewPrivate::dispatchPendingUpdateRequests (this=0x562d512137e0) at ../../include/QtWidgets/5.15.9/QtWidgets/private/../../../../../src/widgets/graphicsview/qgraphicsview_p.h:186 #33 QGraphicsScenePrivate::_q_processDirtyItems (this=0x562d50d3c0c0) at graphicsview/qgraphicsscene.cpp:516 #34 0x00007f4a5cf18c50 in QObject::event (this=0x562d50f27790, e=0x562d512e7200) at kernel/qobject.cpp:1347 #35 0x00007f4a5dba51ae in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x562d50f27790, e=0x562d512e7200) at kernel/qapplication.cpp:3640 #36 0x00007f4a5ceec978 in QCoreApplication::notifyInternal2 (receiver=0x562d50f27790, event=0x562d512e7200) at kernel/qcoreapplication.cpp:1064 #37 0x00007f4a5ceeff71 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x562d5073af50) at kernel/qcoreapplication.cpp:1821 #38 0x00007f4a5cf46713 in postEventSourceDispatch (s=0x562d507808d0) at kernel/qeventdispatcher_glib.cpp:277 #39 0x00007f4a5ab168d8 in g_main_dispatch (context=0x7f4a50000ee0) at ../glib/gmain.c:3460 #40 g_main_context_dispatch (context=context@entry=0x7f4a50000ee0) at ../glib/gmain.c:4200 #41 0x00007f4a5ab16ce8 in g_main_context_iterate (context=context@entry=0x7f4a50000ee0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4276 #42 0x00007f4a5ab16d7c in g_main_context_iteration (context=0x7f4a50000ee0, may_block=1) at ../glib/gmain.c:4343 #43 0x00007f4a5cf45f26 in QEventDispatcherGlib::processEvents (this=0x562d50784ef0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #44 0x00007f4a5ceeb40b in QEventLoop::exec (this=this@entry=0x7ffe8c1f0d20, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #45 0x00007f4a5cef38a0 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #46 0x00007f4a5d36fe3c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1870 #47 0x00007f4a5dba5125 in QApplication::exec () at kernel/qapplication.cpp:2832 #48 0x0000562d4feaf647 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/dolphin-23.04.1/src/main.cpp:232 [Inferior 1 (process 6929) detached] ```
*** Bug 473072 has been marked as a duplicate of this bug. ***
*** Bug 473114 has been marked as a duplicate of this bug. ***
I guess it's a Qt bug that someone will need to report, assuming it's not already fixed in Qt 6.
*** Bug 471346 has been marked as a duplicate of this bug. ***
*** Bug 472011 has been marked as a duplicate of this bug. ***
I've had this for a few weeks, but it is compositor related, not Spectacle specific. Spectacle's rectangular area capture triggers it. I've also had it happen though when I: 1. Go into Manjaro Settings / Display and Monitor / and click on Compositor (tried the various options there but no fix). 2. Krunner (but Albert and ULauncher work fine) All the above result in a 30 sec or so freeze before activating. If I disable Compositor, they all work instantly as expected.
*** This bug has been marked as a duplicate of bug 468694 ***