Summary: | plasma crashed in QtWaylandClient::QWaylandWindow::handleScreensChanged | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | François Guerraz <kubrick> |
Component: | general | Assignee: | Plasma Bugs List <plasma-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | a, alfred, benjamindedieu, bugs-kde, bugs.kde.org.crop588, cherine.kamel, danilo, gus, heikki, joey.joey586, jpetso, katonag, kde, kde, kde, kde, kdedev, kleines, krzysztof.korolczuk, lehoangphuongbg, m.wege, magnedj, marcos.orrego, mitchell, nalajcie, nate, ngompa13, nicolas.fella, notmart, olivier.boutin, peter.levart, postix, redflames1003, reza.jahanbakhshi, sitter, tbeslan, ucho26, weberzach, XandonVincent, yfv9b2tf9, yurapostates |
Priority: | VHI | Keywords: | multiscreen |
Version First Reported In: | 6.2.5 | ||
Target Milestone: | 1.0 | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
See Also: |
https://bugs.kde.org/show_bug.cgi?id=501466 https://bugs.kde.org/show_bug.cgi?id=501588 |
||
Latest Commit: | https://invent.kde.org/frameworks/kwindowsystem/-/commit/d6db21c8722466b8b38cdaed8582329567efc031 | Version Fixed In: | Plasma 6.3.4 with Frameworks 6.13 |
Sentry Crash Report: | https://crash-reports.kde.org/organizations/kde/issues/114947/events/aacdc292dcf441b5b98b3eb450b863e5/?project=9 | ||
Attachments: |
thread apply all bt full
2nd backtrace in case it helps valgrind log Patch to fix the issue qtwayalnd patch to fix the issue attachment-2121839-0.html Backtrace of crash after re-enabling external monitor |
Apologies, this is a new crash, not the one when interacting with the "Present Windows" top left corner thingie. Not my fault if it's crashing left and righ lol That might have been when waking up from sleep. I'll file a separate bug for the "Present Windows" one. Created attachment 177882 [details]
2nd backtrace in case it helps
#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 = {0}} ret = <optimized out> #1 0x00007b5dd38a53a3 in __pthread_kill_internal (threadid=<optimized out>, signo=11) at pthread_kill.c:78 #2 0x00007b5dd384c120 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26 ret = <optimized out> #3 0x00007b5dd6d662a1 in KCrash::defaultCrashHandler (sig=11) at /usr/src/debug/kcrash/kcrash-6.10.0/src/kcrash.cpp:596 data = {<KCrash::MetadataWriter> = {_vptr.MetadataWriter = 0x7b5dd6d6b858 <vtable for KCrash::Metadata+16>}, argv = {_M_elems = {0x0, 0x7b5dd6d6941b "--glrenderer", 0x5a863d1e0840 "Mesa Intel(R) Iris(R) Plus Graphics (ICL GT2)", 0x7b5dd6d69428 "--qtversion", 0x5a863cfc56c0 "6.9.0", 0x7b5dd6d6943b "--kdeframeworksversion", 0x7b5dd6d69434 "6.10.0", 0x7b5dd6d69473 "--platform", 0x5a8642c684c0 "wayland", 0x7b5dd6d694a4 "--appname", 0x5a863cfc5760 "plasmashell", 0x7b5dd6d694ae "--apppath", 0x5a863cfc5780 "/usr/bin", 0x7b5dd6d694bb "--signal", 0x7ffce75d11c6 "11", 0x7b5dd6d694c9 "--pid", 0x7ffce75d11d0 "2588985", 0x7b5dd6d694cf "--appversion", 0x5a863cfcd400 "6.2.91", 0x7b5dd6d694dc "--programname", 0x7b5dd42a6f1e <QByteArray::_empty> "", 0x7b5dd6d694ea "--bugaddress", 0x5a863cfc6d00 "submit@bugs.kde.org", 0x7b5dd6d69512 "--restarted", 0x0 <repeats 14 times>}}, argc = 24, m_writer = 0x7ffce75d1170} platformName = {d = {d = 0x5a8642c684b0, ptr = 0x5a8642c684c0 "wayland", size = 7}, static _empty = 0 '\000'} about = 0x5a863cfc2c30 argv = 0x7ffce75d11f8 i = <optimized out> ini = {<KCrash::MetadataWriter> = {_vptr.MetadataWriter = 0x7b5dd6d6b888 <vtable for KCrash::MetadataINIWriter+16>}, writable = false, fd = 23} sigtxt = "11\000\000\000\000\000\000\000" pidtxt = "2588985", '\000' <repeats 12 times> argc = <optimized out> crashRecursionCounter = 2 #4 0x00007b5dd384c1d0 in <signal handler called> () at /usr/lib/libc.so.6 #5 QWindow::screen (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindow.cpp:2231 d = 0x0 #6 0x00007b5dd47d294c in QPlatformWindow::screen (this=this@entry=0x5a864117e960) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qplatformwindow.cpp:70 scr = <optimized out> #7 0x00007b5dd50a96fa in QtWaylandClient::QWaylandWindow::calculateScreenFromSurfaceEvents (this=0x5a864117e950) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylandwindow.cpp:569 lock = {q_val = 99532664203649} #8 0x00007b5dd50b61ba in QtWaylandClient::QWaylandWindow::handleScreensChanged (this=0x5a864117e950) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylandwindow.cpp:1419 newScreen = <optimized out> #9 0x00007b5dd3fb6389 in QtPrivate::QSlotObjectBase::call (this=0x5a864047cb10, r=0x5a864117e950, a=0x7ffce75d2188, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #10 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4130 obj = {m_slotObject = std::unique_ptr<class QtPrivate::QSlotObjectBase> = {get() = 0x5a864047cb10}} receiver = 0x5a864117e950 td = <optimized out> receiverInSameThread = <optimized out> senderData = {previous = 0x0, receiver = 0x5a864117e950, sender = 0x5a864363dd30, signal = 3} c = 0x5a863fbf01b0 connections = {d = {ptr = <optimized out>}} list = <optimized out> inSenderThread = <optimized out> highestConnectionId = <optimized out> signalVector = 0x5a86409f5af0 currentThreadId = <optimized out> sp = <optimized out> signal_spy_set = 0x0 empty_argv = {0x0} senderDeleted = false #11 0x00007b5dd3fb6389 in QtPrivate::QSlotObjectBase::call (this=0x5a8640d1fa90, r=0x5a864363dd30, a=0x7ffce75d22d0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #12 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4130 obj = {m_slotObject = std::unique_ptr<class QtPrivate::QSlotObjectBase> = {get() = 0x5a8640d1fa90}} receiver = 0x5a864363dd30 td = <optimized out> receiverInSameThread = <optimized out> senderData = {previous = 0x0, receiver = 0x5a864363dd30, sender = 0x7ffce75d2d60, signal = 9} c = 0x5a863fb1de00 connections = {d = {ptr = <optimized out>}} list = <optimized out> inSenderThread = <optimized out> highestConnectionId = <optimized out> signalVector = 0x5a863d1da080 currentThreadId = <optimized out> sp = <optimized out> signal_spy_set = 0x0 empty_argv = {0x0} senderDeleted = false #13 0x00007b5dd4801829 in QMetaObject::activate<void, QScreen*> (sender=<optimized out>, mo=<optimized out>, local_signal_index=1, ret=0x0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs.h:306 _a = {0x0, 0x7ffce75d22c8} _a = {<optimized out>, <optimized out>} #14 QGuiApplication::screenAdded (this=<optimized out>, _t1=0x5a8645487030) at /usr/src/debug/qt6-base/build/src/gui/Gui_autogen/include/moc_qguiapplication.cpp:300 #15 QWindowSystemInterface::handleScreenAdded (platformScreen=platformScreen@entry=0x7b5db8001520, isPrimary=isPrimary@entry=false) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:726 screen = 0x5a8645487030 #16 0x00007b5dd507ee07 in QtWaylandClient::QWaylandDisplay::handleScreenInitialized (this=0x5a863caff060, screen=<optimized out>) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylanddisplay.cpp:622 #17 0x00007b5dd50a43f6 in QtWaylandClient::QWaylandScreen::maybeInitialize (this=0x7b5db8001520) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylandscreen.cpp:81 requiredEvents = <optimized out> requiredEvents = <optimized out> #18 QtWaylandClient::QWaylandScreen::maybeInitialize (this=0x7b5db8001520) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylandscreen.cpp:72 requiredEvents = 6 #19 0x00007b5dd673e596 in ffi_call_unix64 () at ../src/x86/unix64.S:104 #20 0x00007b5dd673b00e in ffi_call_int (cif=cif@entry=0x7ffce75d2550, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673 classes = {X86_64_INTEGER_CLASS, 32764, 3597899596, 31581} stack = <optimized out> argp = 0x7ffce75d23a0 "" arg_types = <optimized out> gprcount = 2 ssecount = <optimized out> ngpr = 1 nsse = 0 i = <optimized out> avn = <optimized out> flags = <optimized out> reg_args = <optimized out> #21 0x00007b5dd673dbd3 in ffi_call (cif=cif@entry=0x7ffce75d2550, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffce75d2620) at ../src/x86/ffi64.c:710 arg_types = 0x7ffce75d2570 i = <optimized out> nargs = 2 max_reg_struct_size = <optimized out> #22 0x00007b5dd6fcb8b0 in wl_closure_invoke (closure=closure@entry=0x7b5db802d230, target=<optimized out>, target@entry=0x5a86410a9100, opcode=opcode@entry=2, data=<optimized out>, flags=1) at ../wayland-1.23.1/src/connection.c:1228 count = 0 cif = {abi = FFI_UNIX64, nargs = 2, arg_types = 0x7ffce75d2570, rtype = 0x7b5dd673f1a0 <ffi_type_void>, bytes = 0, flags = 0} ffi_types = {0x7b5dd673f2a0 <ffi_type_pointer>, 0x7b5dd673f2a0 <ffi_type_pointer>, 0x7b5dd673f2a0 <ffi_type_pointer>, 0x7b5dd673f330 <ffi_type_sint32>, 0x7b5dd673f330 <ffi_type_sint32>, 0x7b5dd673f330 <ffi_type_sint32>, 0x7b5dd673f330 <ffi_type_sint32>, 0x7b5dd673f2a0 <ffi_type_pointer>, 0x7b5dd673f2a0 <ffi_type_pointer>, 0x7b5dd673f330 <ffi_type_sint32>, 0x5a863e27a700, 0x7ffce75d2600, 0x7ffce75d2620, 0x7ffce75d25f8, 0x7ffce75d25f4, 0x5a863e049890, 0x100000000, 0x0, 0x5a8642acc420, 0x5a8642acc430, 0x1, 0x5a863e049890} ffi_args = {0x7ffce75d2530, 0x7ffce75d2538, 0x7b5db8016938, 0x7b5db8016760, 0x7b5db8016558, 0x7b5db8016560, 0x7b5db8016568, 0x7b5db8016570, 0x7ffce75d26a0, 0x7b5dd38b053c <_int_free_create_chunk+156>, 0x5a863e394140, 0x3d0, 0x7ffce75d2750, 0x7b5db8000030, 0x3d0, 0x7b5db8016a10, 0x7ffce75d26e0, 0x7b5dd38b18ba <_int_free_merge_chunk+170>, 0x5a863e014970, 0x7b5db8000030, 0x0, 0x7b5db8016910} implementation = <optimized out> #23 0x00007b5dd6fcc139 in dispatch_event (display=display@entry=0x5a863caff290, queue=queue@entry=0x5a863caff388) at ../wayland-1.23.1/src/wayland-client.c:1674 closure = 0x7b5db802d230 proxy = 0x5a86410a9100 opcode = 2 proxy_destroyed = <optimized out> #24 0x00007b5dd6fcc553 in dispatch_queue (display=0x5a863caff290, queue=0x5a863caff388) at ../wayland-1.23.1/src/wayland-client.c:1820 count = 146 count = <optimized out> err = <optimized out> #25 wl_display_dispatch_queue_pending (display=0x5a863caff290, queue=0x5a863caff388) at ../wayland-1.23.1/src/wayland-client.c:2062 ret = <optimized out> #26 0x00007b5dd507ba46 in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylanddisplay.cpp:231 #27 0x00007b5dd3fa3bba in QObject::event (this=0x5a863caff060, e=0x7b5dc0002020) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1431 mce = 0x7b5dc0002020 connections = <optimized out> sender = {previous = 0x0, receiver = 0x5a863caff060, sender = 0x5a863cb360b0, signal = 5} #28 0x00007b5dd60fed5e in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5a863caff060, e=0x7b5dc0002020) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3297 consumed = false filtered = false threadData = <optimized out> #29 0x00007b5dd3f59138 in QCoreApplication::notifyInternal2 (receiver=0x5a863caff060, event=event@entry=0x7b5dc0002020) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1118 d = <optimized out> threadData = 0x5a863caf7b20 selfRequired = <optimized out> result = false cbdata = {0x5a863caff060, 0x7b5dc0002020, 0x7ffce75d28bf} scopeLevelCounter = {threadData = 0x5a863caf7b20} #30 0x00007b5dd3f59520 in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7b5dc0002020) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1558 #31 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5a863caf7b20) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1891 e = 0x7b5dc0002020 pe = <optimized out> r = <optimized out> relocker = {m_func = {__locker = <optimized out>}, m_invoke = <optimized out>} event_deleter = std::unique_ptr<QEvent> = {get() = <optimized out>} locker = {_M_device = 0x5a863caf7b68, _M_owns = false} startOffset = 0 i = @0x5a863caf7b58: 1 cleanup = {receiver = <optimized out>, event_type = <optimized out>, data = <optimized out>, exceptionCaught = <optimized out>} #32 0x00007b5dd41cc8c8 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1745 data = <optimized out> data = <optimized out> #33 postEventSourceDispatch (s=0x5a863cb52cc0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 source = 0x5a863cb52cc0 #34 0x00007b5dd2f99559 in g_main_dispatch (context=0x7b5dc8000f00) at ../glib/glib/gmain.c:3357 dispatch = 0x7b5dd41cc890 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)> prev_source = 0x0 begin_time_nsec = 498461075896800 was_in_call = 0 user_data = 0x0 callback = 0x0 cb_funcs = 0x0 cb_data = 0x0 need_destroy = <optimized out> source = 0x5a863cb52cc0 current = 0x5a863d2c7780 i = 0 #35 0x00007b5dd2ffc257 in g_main_context_dispatch_unlocked (context=0x7b5dc8000f00) at ../glib/glib/gmain.c:4208 #36 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7b5dc8000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4273 max_priority = 2147483647 timeout_usec = 16000 some_ready = 1 nfds = 12 allocated_nfds = <optimized out> fds = 0x5a8640af1c10 begin_time_nsec = 498461075289986 #37 0x00007b5dd2f98a55 in g_main_context_iteration (context=0x7b5dc8000f00, may_block=1) at ../glib/glib/gmain.c:4338 retval = <optimized out> #38 0x00007b5dd41c9e6d in QEventDispatcherGlib::processEvents (this=0x5a863cafd1d0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 d = 0x5a863cb10120 canWait = true savedFlags = {<QtPrivate::QFlagsStorageHelper<QEventLoop::ProcessEventsFlag, 4>> = {<QtPrivate::QFlagsStorage<QEventLoop::ProcessEventsFlag>> = {static IntegerSize = 4, i = 0}, <No data fields>}, <No data fields>} result = <optimized out> #39 0x00007b5dd3f64be6 in QEventLoop::processEvents (this=0x7ffce75d2c50, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104 d = <optimized out> threadData = <optimized out> #40 QEventLoop::exec (this=0x7ffce75d2c50, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186 d = 0x5a863d2c6530 threadData = <optimized out> locker = {m_mutex = <optimized out>, m_isLocked = false} ref = {d = <optimized out>, locker = <optimized out>, exceptionCaught = <optimized out>} app = 0x7ffce75d2d60 #41 0x00007b5dd3f5c0b9 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:77 threadData = 0x5a863caf7b20 eventLoop = {<QObject> = {_vptr.QObject = 0x7b5dd43f04f0 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7b5dd42b1170 <_ZN7QObject32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0+272>, data = 0x7b5dd42b1060 <_ZN7QObject32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0>, static_metacall = 0x7b5dd3fb1c50 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7b5dd43f3860 <_ZN7QObject36qt_staticMetaObjectRelocatingContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0>, extradata = 0x0}}, d_ptr = {d = 0x5a863d2c6530}}, static staticMetaObject = {d = {superdata = {direct = 0x7b5dd43f38e0 <QObject::staticMetaObject>}, stringdata = 0x7b5dd42b044c <_ZN10QEventLoop32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_129qt_meta_tag_ZN10QEventLoopE_tEEE.lto_priv.0+236>, data = 0x7b5dd42b0360 <_ZN10QEventLoop32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_129qt_meta_tag_ZN10QEventLoopE_tEEE.lto_priv.0>, static_metacall = 0x7b5dd3f615b0 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7b5dd43f3340 <_ZN10QEventLoop36qt_staticMetaObjectRelocatingContentIN12_GLOBAL__N_129qt_meta_tag_ZN10QEventLoopE_tEEE.lto_priv.0>, extradata = 0x0}}} returnCode = <optimized out> #42 0x00007b5dd60fb10a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2564 #43 0x00005a8634d431bd in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-6.2.91/shell/main.cpp:191 format = {d = 0x5a863cacab00} app = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x7b5dd67073a8 <vtable for QApplication+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7b5dd42b1170 <_ZN7QObject32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0+272>, data = 0x7b5dd42b1060 <_ZN7QObject32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0>, static_metacall = 0x7b5dd3fb1c50 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7b5dd43f3860 <_ZN7QObject36qt_staticMetaObjectRelocatingContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0>, extradata = 0x0}}, d_ptr = {d = 0x5a863cafaed0}}, static staticMetaObject = {d = {superdata = {direct = 0x7b5dd43f38e0 <QObject::staticMetaObject>}, stringdata = 0x7b5dd42b0728 <_ZN16QCoreApplication32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_135qt_meta_tag_ZN16QCoreApplicationE_tEEE.lto_priv.0+392>, data = 0x7b5dd42b05a0 <_ZN16QCoreApplication32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_135qt_meta_tag_ZN16QCoreApplicationE_tEEE.lto_priv.0>, static_metacall = 0x7b5dd3f59af0 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7b5dd43f33c0 <_ZN16QCoreApplication36qt_staticMetaObjectRelocatingContentIN12_GLOBAL__N_135qt_meta_tag_ZN16QCoreApplicationE_tEEE.lto_priv.0>, extradata = 0x0}}, static self = 0x7ffce75d2d60}, static staticMetaObject = {d = {superdata = {direct = 0x7b5dd43f3440 <QCoreApplication::staticMetaObject>}, stringdata = 0x7b5dd4da8b10 <_ZN15QGuiApplication32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_134qt_meta_tag_ZN15QGuiApplicationE_tEEE.lto_priv.0+752>, data = 0x7b5dd4da8820 <_ZN15QGuiApplication32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_134qt_meta_tag_ZN15QGuiApplicationE_tEEE.lto_priv.0>, static_metacall = 0x7b5dd479c870 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7b5dd4ec6bc0 <_ZN15QGuiApplication36qt_staticMetaObjectRelocatingContentIN12_GLOBAL__N_134qt_meta_tag_ZN15QGuiApplicationE_tEEE.lto_priv.0>, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7b5dd4ec73c0 <QGuiApplication::staticMetaObject>}, stringdata = 0x7b5dd65b4528 <_ZN12QApplication32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_131qt_meta_tag_ZN12QApplicationE_tEEE.lto_priv.0+392>, data = 0x7b5dd65b43a0 <_ZN12QApplication32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_131qt_meta_tag_ZN12QApplicationE_tEEE.lto_priv.0>, static_metacall = 0x7b5dd6101870 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7b5dd66f8540 <_ZN12QApplication36qt_staticMetaObjectRelocatingContentIN12_GLOBAL__N_131qt_meta_tag_ZN12QApplicationE_tEEE.lto_priv.0>, extradata = 0x0}}} aboutData = {d = std::unique_ptr<class KAboutDataPrivate> = {get() = 0x5a863cb6f240}} replace = <optimized out> corona = 0x5a863d32a8f0 service = {<QObject> = {_vptr.QObject = 0x7b5dd72d2288 <vtable for KDBusService+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7b5dd42b1170 <_ZN7QObject32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0+272>, data = 0x7b5dd42b1060 <_ZN7QObject32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0>, static_metacall = 0x7b5dd3fb1c50 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7b5dd43f3860 <_ZN7QObject36qt_staticMetaObjectRelocatingContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0>, extradata = 0x0}}, d_ptr = {d = 0x5a863d323450}}, static staticMetaObject = {d = {superdata = {direct = 0x7b5dd43f38e0 <QObject::staticMetaObject>}, stringdata = 0x7b5dd72cd160 <qt_meta_stringdata_ZN12KDBusServiceE>, data = 0x7b5dd72ccc80 <qt_meta_data_ZN12KDBusServiceE>, static_metacall = 0x7b5dd72c5390 <KDBusService::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7b5dd72d1b40 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_tag_ZN12KDBusServiceE_t, QtPrivate::TypeAndForceComplete<KDBusService::StartupOption, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QFlags<KDBusService::StartupOption>, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<KDBusService, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QList<QString> const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QString const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QList<QUrl> const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QString const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QVariant const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> > >>, extradata = 0x0}}, d = std::unique_ptr<class KDBusServicePrivate> = {get() = 0x5a863d1d9fe0}} A link to the upstream commit fixing the bug would be appreciated. Then it's not fixed. e038d0b750cf238fef6eeb07a90b7fc1b52e4640 is included in 6.9.0-beta2 which ships on Arch. Created attachment 178123 [details]
valgrind log
As this is still happening multiple times a day, I have decided to run in Valgrind, in case it helps.
There are a number of :
* Conditional jump or move depends on uninitialised value(s)
* Invalid read of size X
People who know what they're doing might find it useful.
*** Bug 499834 has been marked as a duplicate of this bug. *** . *** Bug 500163 has been marked as a duplicate of this bug. *** *** Bug 500110 has been marked as a duplicate of this bug. *** *** Bug 500281 has been marked as a duplicate of this bug. *** *** Bug 500207 has been marked as a duplicate of this bug. *** *** Bug 500110 has been marked as a duplicate of this bug. *** *** Bug 500389 has been marked as a duplicate of this bug. *** *** Bug 500385 has been marked as a duplicate of this bug. *** *** Bug 500430 has been marked as a duplicate of this bug. *** *** Bug 500552 has been marked as a duplicate of this bug. *** *** Bug 500610 has been marked as a duplicate of this bug. *** *** Bug 500653 has been marked as a duplicate of this bug. *** Created attachment 178873 [details] Patch to fix the issue I wrote this patch to fix the issue, then I started following the process described here to upstream it: https://wiki.qt.io/Qt_Contribution_Guidelines After a bit, signing up to 3 different systems, and having to learn guerrit, I started to realise that I would rather insert matches under my fingernails and light them up. So I'm adding the patch here with the hope that it helps the community and that someone who is already a member of the cult can upstream this for me. *** Bug 500806 has been marked as a duplicate of this bug. *** *** Bug 500928 has been marked as a duplicate of this bug. *** *** Bug 500963 has been marked as a duplicate of this bug. *** *** Bug 500922 has been marked as a duplicate of this bug. *** (In reply to François Guerraz from comment #21) > Created attachment 178873 [details] > Patch to fix the issue > > I wrote this patch to fix the issue, then I started following the process > described here to upstream it: https://wiki.qt.io/Qt_Contribution_Guidelines > > After a bit, signing up to 3 different systems, and having to learn guerrit, > I started to realise that I would rather insert matches under my > fingernails and light them up. So I'm adding the patch here with the hope > that it helps the community and that someone who is already a member of the > cult can upstream this for me. Has someone who knows how to do this, tried to use this fix and can tell if it works? *** Bug 500988 has been marked as a duplicate of this bug. *** Created attachment 179067 [details]
qtwayalnd patch to fix the issue
The previous version of the patch worked on the dev branch of qtwayalnd but the crash was still happening on 6.8.
This new revision should fix the issue on both branches.
*** Bug 501074 has been marked as a duplicate of this bug. *** *** Bug 501136 has been marked as a duplicate of this bug. *** *** Bug 501186 has been marked as a duplicate of this bug. *** *** Bug 501169 has been marked as a duplicate of this bug. *** *** Bug 501195 has been marked as a duplicate of this bug. *** *** Bug 501277 has been marked as a duplicate of this bug. *** What is the status on the Qt6 side now? Has the bug been reported there too? If so, could the bug report be linked to this one? And the status of the patches on the Qt side? As someone who is coming from gnome I must say I am shocked at how poor KDE project management and communication is. I reported this bug a month ago, went through the effort of writing a patch, and there’s absolutely zero communication. FWIW my patch works fine for me, so I’m okay, but it’s not a platform I want to invest time in learning in any more depth. (In reply to François Guerraz from comment #36) > FWIW my patch works fine for me, so I’m okay, but it’s not a platform I want > to invest time in learning in any more depth. I'm not sure how you want feedback to your patch, but given there exists systems like gerrit to enable others to actually work with you on fixing your patch, which I as an absolute wayland noob can tell is at least far too big and is filling me with more 'why he changes this?' rather than 'this makes sense'. For example, `oldestEnteredScreen()` already checks that screen->screen() is valid before returning it, so why are you doing it again? and under which circumstances can a `QWaylandWindow` not have a `window` and thus the questions keeps piling up, but how do I ask them in a way where you can answer them when you are refusing to sign up for the systems where we are able to it easily? (In reply to Sune Vuorela from comment #37) > For example, `oldestEnteredScreen()` already checks that screen->screen() is > valid before returning it, so why are you doing it again? > and under which circumstances can a `QWaylandWindow` not have a `window` and > thus the questions keeps piling up, All I know is that it happens, and that checking prevents the crash from happening. Again, I'm not a dev, just a user trying to make his system usable. I can add some extra debugging in places if someone tells me what they're interested in. I'll try to simplify my patch following your feedback. > but how do I ask them in a way where you > can answer them when you are refusing to sign up for the systems where we > are able to it easily? You have just proven that you can very easily ask me questions! (In reply to Sune Vuorela from comment #37) > (In reply to François Guerraz from comment #36) > > FWIW my patch works fine for me, so I’m okay, but it’s not a platform I want > > to invest time in learning in any more depth. > > I'm not sure how you want feedback to your patch, but given there exists > systems like gerrit to enable others to actually work with you on fixing > your patch, which I as an absolute wayland noob can tell is at least far too > big and is filling me with more 'why he changes this?' rather than 'this > makes sense'. https://wiki.qt.io/Setting_up_Gerrit Qt's Gerrit seems complicated to set up. Github, gitlab or even bugs.kde.org would never ask you to mess with your PC's SSH keys and sign weird license agreements. It's too much for a casual contributor. Created attachment 179351 [details] attachment-2121839-0.html But that's the tool they use, and it keeps the conversation out of the end user threads. And how people manage oss without a registered key is beyond me. But the important part is to keep the dev bickering amongst the devs and not in the user space. So if your going to develop, then please, use their toolset and develop. This is the wrong spot for your conversation. As a user, I appreciate anyone's contributions of time and skill. To both, I thank you for your service. It's so very appreciated as a daily user. On Wed, Mar 12, 2025, 1:17 PM <bugzilla_noreply@kde.org> wrote: > https://bugs.kde.org/show_bug.cgi?id=499383 > > --- Comment #39 from yurapostates@proton.me --- > (In reply to Sune Vuorela from comment #37) > > (In reply to François Guerraz from comment #36) > > > FWIW my patch works fine for me, so I’m okay, but it’s not a platform > I want > > > to invest time in learning in any more depth. > > > > I'm not sure how you want feedback to your patch, but given there exists > > systems like gerrit to enable others to actually work with you on fixing > > your patch, which I as an absolute wayland noob can tell is at least far > too > > big and is filling me with more 'why he changes this?' rather than 'this > > makes sense'. > https://wiki.qt.io/Setting_up_Gerrit > Qt's Gerrit seems complicated to set up. Github, gitlab or even > bugs.kde.org > would never ask you to mess with your PC's SSH keys and sign weird license > agreements. It's too much for a casual contributor. > > -- > You are receiving this mail because: > You are on the CC list for the bug. *** Bug 501438 has been marked as a duplicate of this bug. *** Has anyone found a way to reliably reproduce this? A specific dock perhaps? (In reply to Harald Sitter from comment #42) > Has anyone found a way to reliably reproduce this? A specific dock perhaps? The Dell WD19S dock I'm using seems to be pretty good at it. It's on firmware 01.01.00.05 if that helps. It happens systematically on my system using the built-in HDMI port. It is a Dell Vostro 14 5410. For me, the bug is reproducible when I perform these steps: - Plug a laptop to an external screen with HDMI, - Make the external screen the primary screen (in KDE monitor setting page), - Lock your session (CTRL+L), - Turn off the external screen (without unpluging the HDMI), - Unlock the session (from the laptop screen), Then plasmashell restart and I have DrKonki reporting for duty.. I must precise that my laptop screen is scaled at 200% and my external screen at 100%. For me it happens on my desktop (though DP), basically as soon as my monitor goes to sleep and the crash seems to happen when the screen wakes up again, also after waking the PC. I using this dock https://www.amazon.fr/Station-daccueil-chargeur-Gigabit-Ethernet/dp/B0BXW49DJ5 Like other, my second monitor, when plug are 200% scale and set as primary. Crash seems to have a relation with "sleep" and plug or unplug. Thanks for all your efforts. (In reply to Benjamin Dedieu from comment #45) > For me, the bug is reproducible when I perform these steps: I was not able to reproduce this with two different systems using the steps in this comment Wayland git-master Qt 6.8.2 Lenovo Flex and a monitor connected to the HDMI port Dell XPS 17 connected to a dock (WD19TBS) and a monitor connected to the HDMI port of the dock I also tried with either the laptop or external monitor set to 200%, and tried different scaling. Notably, if Display Configuration is up, it still shows the external monitor when I power it off using its button Does anyone who sees the crash see the screen removed from the Display Configuration immediately when the monitor is powered off? Created attachment 179371 [details]
Backtrace of crash after re-enabling external monitor
Just after my last comment, I reproduced the crash on the Dell connected to a dock
I re-enabled the second external monitor, that's attached to the dock's DisplayPort port
The display went black, there was still a mouse cursor and Dr Konqui appeared
(In reply to TraceyC from comment #48) > (In reply to Benjamin Dedieu from comment #45) > > For me, the bug is reproducible when I perform these steps: > > I was not able to reproduce this with two different systems using the steps > in this comment > Wayland git-master > Qt 6.8.2 > > Lenovo Flex and a monitor connected to the HDMI port > Dell XPS 17 connected to a dock (WD19TBS) and a monitor connected to the > HDMI port of the dock > I also tried with either the laptop or external monitor set to 200%, and > tried different scaling. > > Notably, if Display Configuration is up, it still shows the external monitor > when I power it off using its button > Does anyone who sees the crash see the screen removed from the Display > Configuration immediately when the monitor is powered off? For me the screen immediately get removed from the Display Configuration page with the notification the output has been disconnected. Some other info: It happens when my primary monitor (at 125% scale) powers off, and I don't know if it has any bearing on it, but I am using an AMD graphics card (mesa). (In reply to A. Kelly from comment #50) > (In reply to TraceyC from comment #48) > > (In reply to Benjamin Dedieu from comment #45) > > > For me, the bug is reproducible when I perform these steps: > > > > I was not able to reproduce this with two different systems using the steps > > in this comment > > Wayland git-master > > Qt 6.8.2 > > > > Lenovo Flex and a monitor connected to the HDMI port > > Dell XPS 17 connected to a dock (WD19TBS) and a monitor connected to the > > HDMI port of the dock > > I also tried with either the laptop or external monitor set to 200%, and > > tried different scaling. > > > > Notably, if Display Configuration is up, it still shows the external monitor > > when I power it off using its button > > Does anyone who sees the crash see the screen removed from the Display > > Configuration immediately when the monitor is powered off? > > For me the screen immediately get removed from the Display Configuration > page with the notification the output has been disconnected. > Some other info: It happens when my primary monitor (at 125% scale) powers > off, and I don't know if it has any bearing on it, but I am using an AMD > graphics card (mesa). To throw my hat back in the ring, this is the exact behavior I see as well. Amd card, monitor set to 125% scale. My primary is plugged into hdmi and second is display port. *** Bug 501502 has been marked as a duplicate of this bug. *** *** Bug 501678 has been marked as a duplicate of this bug. *** Is this at all reproducible with a new user? If so what kind of display configuration are you applying? I'm not able to reproduce this at the moment with a new user or my usual one workspace git-master is up to date Display configuration Laptop 3840 x 2400@150% Mon1 3440 x 1440@100% Mon2 3440 x 1440@100% Mon1 shows AdaptiveSync -Automatic (DisplayPort) Mon2 does not show this setting (HDMI) I've been unable to reproduce this crash, despite buying the dock and getting a 3rd monitor. A key difference is I'm running Qt 6.9, could anyone who can reproduce try to get Qt6.9 and confirm if the problem goes away? I have seen it with 6.9, but I haven't found a pattern to reproduce it For me the bug happens equally often on 6.8 and 6.9 (I initially reported the bug with 6.9) Is it reproducible with a new user though? See Comment 54 (In reply to Harald Sitter from comment #59) > Is it reproducible with a new user though? See Comment 54 I have not been able to reproduce with a new user with default display arrangement no, curious... Qt 6.8.2 still. I have been able to reproduce the issue on QT 6.9-rc1 (arch) with a new user pretty reliably: * Create a new user * Configure your display positioning * Move the panel to the external monitor * Add widgets to the built-in monitor (window list and analog clock in my case) Go into sleep mode, wait for the external monitor to be fully off so that it's slow to wake-up, wake up the computer and log-in again. It doesn't happen every time, but every 2 or 3 times. (In reply to François Guerraz from comment #61) > I have been able to reproduce the issue on QT 6.9-rc1 (arch) with a new user > pretty reliably: > * Create a new user > * Configure your display positioning Which exact changes are you making? > * Move the panel to the external monitor How do you move the panel? > * Add widgets to the built-in monitor (window list and analog clock in my > case) These are simply on the desktop or do you create a new panel? (In reply to François Guerraz from comment #61) > I have been able to reproduce the issue on QT 6.9-rc1 (arch) with a new user > pretty reliably: > * Create a new user > * Configure your display positioning > * Move the panel to the external monitor > * Add widgets to the built-in monitor (window list and analog clock in my > case) > Go into sleep mode, wait for the external monitor to be fully off so that > it's slow to wake-up, wake up the computer and log-in again. > > It doesn't happen every time, but every 2 or 3 times. Does it also happen without adding the widget? Ok, I just tested again, these are my exact steps, without adding widgets, I deleted the user's home directory and stared from scratch. * Log in for the first time, with my laptop sitting on the right hand side of the external display, main panel with the start menu is on the external display. * Go to display configuration * move displays around so that the laptop monitor is on the right hand side of the external display * change external display scale 125%->100%, change built-in display scale 225%->200% * set external display to Primary * Apply For some reason, this moves the panel to the built-in display (not primary), so right-click on the desktop and enter edit mode * Click on the panel, click clone panel, position the panel on the external display * Delete the panel on the built-in display Exit edit mode. Lock the display, press Esc so that monitors switch off, wait for complete switch off, wake up, log-in, crash: #4 0x0000708c6744bcd0 in <signal handler called> () at /usr/lib/libc.so.6 #5 QWindow::screen (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindow.cpp:2240 d = 0x74006e0065006e #6 0x0000708c683d3d2c in QPlatformWindow::screen (this=this@entry=0x5da1336efe60) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qplatformwindow.cpp:70 scr = <optimized out> #7 0x0000708c68cad3ea in QtWaylandClient::QWaylandWindow::calculateScreenFromSurfaceEvents (this=this@entry=0x5da1336efe50) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylandwindow.cpp:570 lock = {q_val = 102946934029953} #8 0x0000708c68cb343a in QtWaylandClient::QWaylandWindow::handleScreensChanged (this=0x5da1336efe50) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylandwindow.cpp:1426 newScreen = <optimized out> #9 0x0000708c67bb6cc9 in QtPrivate::QSlotObjectBase::call (this=0x5da133607830, r=0x5da1336efe50, a=0x7ffee59308d8, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #10 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4138 obj = {m_slotObject = std::unique_ptr<class QtPrivate::QSlotObjectBase> = {get() = 0x5da133607830}} receiver = 0x5da1336efe50 td = <optimized out> receiverInSameThread = <optimized out> senderData = {previous = 0x0, receiver = 0x5da1336efe50, sender = 0x5da1336ee820, signal = 3} c = 0x5da13350faf0 connections = {d = {ptr = <optimized out>}} list = <optimized out> inSenderThread = <optimized out> highestConnectionId = <optimized out> signalVector = 0x5da133a6bae0 currentThreadId = <optimized out> sp = <optimized out> signal_spy_set = 0x0 empty_argv = {0x0} senderDeleted = false Thread 1 (Thread 0x7ff8c064b2c0 (LWP 2223)): [KCrash Handler] #6 QWindow::screen (this=0x7ff7f4b13a40) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/gui/kernel/qwindow.cpp:2200 #7 QPlatformWindow::screen (this=0x55aa22004830) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/gui/kernel/qplatformwindow.cpp:70 #8 0x00007ff8c705ee06 in QtWaylandClient::QWaylandWindow::calculateScreenFromSurfaceEvents (this=0x55aa22004820) at /home/build/YPKG/root/qt6-wayland/build/qtwayland-everywhere-src-6.8.2/src/client/qwaylandwindow.cpp:554 #9 QtWaylandClient::QWaylandWindow::handleScreensChanged (this=0x55aa22004820) at /home/build/YPKG/root/qt6-wayland/build/qtwayland-everywhere-src-6.8.2/src/client/qwaylandwindow.cpp:1446 #10 0x00007ff8c5f38904 in QtPrivate::QSlotObjectBase::call (this=0x55aa121900f0, r=0x55aa22004820, a=0x7ffd585001e8) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/corelib/kernel/qobjectdefs_impl.h:486 #11 doActivate<false> (sender=0x55aa22874ac0, signal_index=3, argv=0x7ffd585001e8) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/corelib/kernel/qobject.cpp:4115 #12 0x00007ff8c5f38904 in QtPrivate::QSlotObjectBase::call (this=0x55aa0af6c5a0, r=0x55aa22874ac0, a=0x7ffd58500300) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/corelib/kernel/qobjectdefs_impl.h:486 #13 doActivate<false> (sender=0x7ffd58500eb0, signal_index=9, argv=0x7ffd58500300) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/corelib/kernel/qobject.cpp:4115 #14 0x00007ff8c6939a99 in QGuiApplication::screenAdded (this=0x55aa22004830, _t1=0x55aa246fdef0) at src/gui/Gui_autogen/include/moc_qguiapplication.cpp:420 #15 QWindowSystemInterface::handleScreenAdded (platformScreen=<optimized out>, isPrimary=false) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/gui/kernel/qwindowsysteminterface.cpp:726 #16 0x00007ff8c702bcba in QtWaylandClient::QWaylandDisplay::handleScreenInitialized (this=0x55aa02dff740, screen=0x55aa22004830) at /home/build/YPKG/root/qt6-wayland/build/qtwayland-everywhere-src-6.8.2/src/client/qwaylanddisplay.cpp:603 #17 0x00007ff8c705452c in QtWaylandClient::QWaylandScreen::maybeInitialize (this=0x7ff8ac0030c0) at /home/build/YPKG/root/qt6-wayland/build/qtwayland-everywhere-src-6.8.2/src/client/qwaylandscreen.cpp:81 #18 0x00007ff8c6239052 in ffi_call_unix64 () at ../src/x86/unix64.S:104 #19 0x00007ff8c6237c01 in ffi_call_int (cif=cif@entry=0x7ffd585005b0, fn=fn@entry=0x7ff8c7070cd0 <QtWayland::wl_output::handle_done(void*, wl_output*)>, rvalue=<optimized out>, rvalue@entry=0x0, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673 #20 0x00007ff8c62382dd in ffi_call (cif=cif@entry=0x7ffd585005b0, fn=0x7ff8c7070cd0 <QtWayland::wl_output::handle_done(void*, wl_output*)>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffd58500680) at ../src/x86/ffi64.c:710 #21 0x00007ff8c951a301 in wl_closure_invoke (closure=0x7ff8a40768c0, flags=<optimized out>, target=<optimized out>, opcode=2, data=<optimized out>) at ../../src/wayland/src/connection.c:1236 #22 0x00007ff8c951600f in dispatch_event (display=display@entry=0x55aa02dff960, queue=queue@entry=0x55aa02dffa58) at ../../src/wayland/src/wayland-client.c:1682 #23 0x00007ff8c95170ab in dispatch_queue (display=0x55aa02dff960, queue=0x55aa02dffa58) at ../../src/wayland/src/wayland-client.c:1828 #24 wl_display_dispatch_queue_pending (display=0x55aa02dff960, queue=0x55aa02dffa58) at ../../src/wayland/src/wayland-client.c:2165 #25 0x00007ff8c702b913 in QtWaylandClient::EventThread::dispatchQueuePending (this=0x55aa02e1d600) at /home/build/YPKG/root/qt6-wayland/build/qtwayland-everywhere-src-6.8.2/src/client/qwaylanddisplay.cpp:227 #26 QtWaylandClient::EventThread::readAndDispatchEvents (this=0x55aa02e1d600) at /home/build/YPKG/root/qt6-wayland/build/qtwayland-everywhere-src-6.8.2/src/client/qwaylanddisplay.cpp:109 #27 0x00007ff8c5f2e2ba in QObject::event (this=0x55aa02dff740, e=0x7ff8ac01e190) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/corelib/kernel/qobject.cpp:1418 #28 0x00007ff8c864d110 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55aa02dff740, e=0x7ff8ac01e190) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/widgets/kernel/qapplication.cpp:3296 #29 0x00007ff8c864e353 in QApplication::notify (this=<optimized out>, receiver=0x55aa02dff740, e=0x7ff8ac01e190) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/widgets/kernel/qapplication.cpp:2689 #30 0x00007ff8c5ed750f in QCoreApplication::notifyInternal2 (receiver=0x55aa02dff740, event=0x7ff8ac01e190) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/corelib/kernel/qcoreapplication.cpp:1172 #31 0x00007ff8c5ed8823 in QCoreApplication::sendEvent (receiver=0x55aa02dff740, event=<optimized out>) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/corelib/kernel/qcoreapplication.cpp:1612 #32 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55aa02df1da0) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/corelib/kernel/qcoreapplication.cpp:1946 #33 0x00007ff8c61e342b in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/corelib/kernel/qcoreapplication.cpp:1800 #34 postEventSourceDispatch (s=0x55aa02dfb9f0) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #35 0x00007ff8c5174288 in g_main_dispatch (context=0x7ff8b4000f20) at ../glib/gmain.c:3357 #36 0x00007ff8c520001a in g_main_context_dispatch_unlocked (context=0x7ff8b4000f20) at ../glib/gmain.c:4208 #37 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7ff8b4000f20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4273 #38 0x00007ff8c5172a74 in g_main_context_iteration (context=0x7ff8b4000f20, may_block=1) at ../glib/gmain.c:4338 #39 0x00007ff8c61e2d2e in QEventDispatcherGlib::processEvents (this=0x55aa02dfbf80, flags=...) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/corelib/kernel/qeventdispatcher_glib.cpp:401 #40 0x00007ff8c5ee2936 in QEventLoop::processEvents (this=0x7ffd58500de0, flags=...) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/corelib/kernel/qeventloop.cpp:103 #41 QEventLoop::exec (this=0x7ffd58500de0, flags=...) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/corelib/kernel/qeventloop.cpp:185 #42 0x00007ff8c5ed7d5e in QCoreApplication::exec () at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.2/src/corelib/kernel/qcoreapplication.cpp:1515 #43 0x000055a9ca8e3215 in main (argc=<optimized out>, argv=<optimized out>) at /home/tracey/kde/src/plasma-workspace/shell/main.cpp:191 *** Bug 502018 has been marked as a duplicate of this bug. *** (In reply to A. Kelly from comment #60) > (In reply to Harald Sitter from comment #59) > > Is it reproducible with a new user though? See Comment 54 > > I have not been able to reproduce with a new user with default display > arrangement no, curious... Qt 6.8.2 still. Okay so I've tried to copy the steps to reproduce it from François: > * Create a new user No issue when using default display settings > * Configure your display positioning Switching left and right screen and making other screen primary, still no crash > * Move the panel to the external monitor Crashed immediately when my monitor turned off, it seemed to happen at the moment that the panel moved back to the other monitor when it got reconnected A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kwindowsystem/-/merge_requests/173 We managed to figure this out (hopefully): Look at frames 6 and 80, we're in createWindow *for the same window*. We end up with a dangling QPlatformWindow with no QWindow. Thread 1 "plasmashell" hit Breakpoint 1, QPlatformWindow::QPlatformWindow (this=0x555556e108e0, window=0x555556db8a30) at /home/david/projects/kde6/src/qtbase/src/gui/kernel/qplatformwindow.cpp:35 35 qDebug() << windowMap; (gdb) bt #0 QPlatformWindow::QPlatformWindow (this=0x555556e108e0, window=0x555556db8a30) at /home/david/projects/kde6/src/qtbase/src/gui/kernel/qplatformwindow.cpp:35 #1 0x00007ffff42107ac in QtWaylandClient::QWaylandWindow::QWaylandWindow (this=0x555556e108d0, window=0x555556db8a30, display=0x555555780680) at /home/david/projects/kde6/src/qtwayland/src/client/qwaylandwindow.cpp:51 #2 0x00007fffecdec52a in QtWaylandClient::QWaylandEglWindow::QWaylandEglWindow (this=0x555556e108d0, window=0x555556db8a30, display=0x555555780680) at /home/david/projects/kde6/src/qtwayland/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp:23 #3 0x00007fffecdeb99e in QtWaylandClient::QWaylandEglClientBufferIntegration::createEglWindow (this=0x5555557f5f30, window=0x555556db8a30) at /home/david/projects/kde6/src/qtwayland/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp:121 #4 0x00007ffff41ee217 in QtWaylandClient::QWaylandIntegration::createPlatformWindow (this=0x55555578a7c0, window=0x555556db8a30) at /home/david/projects/kde6/src/qtwayland/src/client/qwaylandintegration.cpp:139 #5 0x00007ffff3352cca in QWindowPrivate::create (this=0x555556aabd40, recursive=false) at /home/david/projects/kde6/src/qtbase/src/gui/kernel/qwindow.cpp:570 #6 0x00007ffff3351a18 in QWindow::create (this=0x555556db8a30) at /home/david/projects/kde6/src/qtbase/src/gui/kernel/qwindow.cpp:734 #7 0x00007fffdbfa68f2 in surfaceForWindow (window=0x555556db8a30) at /home/david/projects/kde6/src/frameworks/kwindowsystem/src/platforms/wayland/surfacehelper.h:26 #8 0x00007fffdbfa3fa0 in WindowEffects::installContrast (this=0x555555a557a0, window=0x555556db8a30, enable=true, contrast=0.20000000000000001, intensity=1.3999999999999999, saturation=10, region=...) at /home/david/projects/kde6/src/frameworks/kwindowsystem/src/platforms/wayland/windoweffects.cpp:378 #9 0x00007fffdbfa47f5 in WindowEffects::enableBackgroundContrast (this=0x555555a557a0, window=0x555556db8a30, enable=true, contrast=0.20000000000000001, intensity=1.3999999999999999, saturation=10, region=...) at /home/david/projects/kde6/src/frameworks/kwindowsystem/src/platforms/wayland/windoweffects.cpp:369 #10 0x00007ffff58f17ad in KWindowEffects::enableBackgroundContrast (window=0x555556db8a30, enable=true, contrast=0.20000000000000001, intensity=1.3999999999999999, saturation=10, region=...) at /home/david/projects/kde6/src/frameworks/kwindowsystem/src/kwindoweffects.cpp:33 #11 0x00007ffff7a42245 in PlasmaQuick::PlasmaWindowPrivate::handleFrameChanged (this=0x5555568e0c20) at /home/david/projects/kde6/src/plasma/libplasma/src/plasmaquick/plasmawindow.cpp:167 #12 0x00007ffff7a41865 in operator() (__closure=0x555556dbc7a0) at /home/david/projects/kde6/src/plasma/libplasma/src/plasmaquick/plasmawindow.cpp:59 #13 0x00007ffff7a43293 in operator() (__closure=0x7fffffff6580) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:116 #14 0x00007ffff7a4333a in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>, QtPrivate::List<>, void, PlasmaQuick::PlasmaWindow::PlasmaWindow(const QString&)::<lambda()> >::call(PlasmaQuick::PlasmaWindow::PlasmaWindow(const QString&)::<lambda()>&, void**)::<lambda()> >(void **, struct {...} &&) (args=0x7fffffff6870, fn=...) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:65 #15 0x00007ffff7a432d8 in QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>, QtPrivate::List<>, void, PlasmaQuick::PlasmaWindow::PlasmaWindow(const QString&)::<lambda()> >::call(struct {...} &, void **) (f=..., arg=0x7fffffff6870) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:115 #16 0x00007ffff7a431fd in QtPrivate::FunctorCallable<PlasmaQuick::PlasmaWindow::PlasmaWindow(const QString&)::<lambda()> >::call<QtPrivate::List<>, void>(struct {...} &, void *, void **) (f=..., arg=0x7fffffff6870) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:337 #17 0x00007ffff7a43185 in QtPrivate::QCallableObject<PlasmaQuick::PlasmaWindow::PlasmaWindow(const QString&)::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x555556dbc790, r=0x555556db8a30, a=0x7fffffff6870, ret=0x0) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:547 #18 0x00007ffff204ff12 in QtPrivate::QSlotObjectBase::call (this=0x555556dbc790, r=0x555556db8a30, a=0x7fffffff6870) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #19 0x00007ffff20fac04 in doActivate<false> (sender=0x555556d9e450, signal_index=34, argv=0x7fffffff6870) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4146 #20 0x00007ffff20f0663 in QMetaObject::activate (sender=0x555556d9e450, m=0x7ffff7af96c0 <PlasmaQuick::DialogBackground::staticMetaObject>, local_signal_index=1, argv=0x0) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4206 #21 0x00007ffff7a4d953 in PlasmaQuick::DialogBackground::maskChanged (this=0x555556d9e450) at /home/david/projects/kde6/build/plasma/libplasma/src/plasmaquick/PlasmaQuick_autogen/include/moc_dialogbackground_p.cpp:128 #22 0x00007ffff7a4d742 in PlasmaQuick::DialogBackground::qt_static_metacall (_o=0x555556d9e450, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffffff6b50) at /home/david/projects/kde6/build/plasma/libplasma/src/plasmaquick/PlasmaQuick_autogen/include/moc_dialogbackground_p.cpp:76 #23 0x00007ffff20fad04 in doActivate<false> (sender=0x555556dbc8f0, signal_index=40, argv=0x7fffffff6b50) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4158 #24 0x00007ffff20f0663 in QMetaObject::activate (sender=0x555556dbc8f0, m=0x7fffb9d00880 <KSvg::FrameSvgItem::staticMetaObject>, local_signal_index=7, argv=0x0) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4206 #25 0x00007fffb9cd8283 in KSvg::FrameSvgItem::maskChanged (this=0x555556dbc8f0) at /home/david/projects/kde6/build/frameworks/ksvg/src/declarativeimports/corebindingsplugin_autogen/include/moc_framesvgitem.cpp:453 #26 0x00007fffb9cd5b7a in KSvg::FrameSvgItem::doUpdate (this=0x555556dbc8f0) at /home/david/projects/kde6/src/frameworks/ksvg/src/declarativeimports/framesvgitem.cpp:569 #27 0x00007fffb9cdf1a3 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (KSvg::FrameSvgItem::*)()>::call(void (KSvg::FrameSvgItem::*)(), KSvg::FrameSvgItem*, void**)::{lambda()#1}::operator()() const (__closure=0x7fffffff6db0) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:127 #28 0x00007fffb9cdfa85 in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (KSvg::FrameSvgItem::*)()>::call(void (KSvg::FrameSvgItem::*)(), KSvg::FrameSvgItem*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (KSvg::FrameSvgItem::*)()>::call(void (KSvg::FrameSvgItem::*)(), KSvg::FrameSvgItem*, void**)::{lambda()#1}&&) (args=0x7fffffff70a0, fn=...) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:65 #29 0x00007fffb9cdf215 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (KSvg::FrameSvgItem::*)()>::call(void (KSvg::FrameSvgItem::*)(), KSvg::FrameSvgItem*, void**) (f=(void (KSvg::FrameSvgItem::*)(KSvg::FrameSvgItem * const)) 0x7fffb9cd56ae <KSvg::FrameSvgItem::doUpdate()>, o=0x555556dbc8f0, arg=0x7fffffff70a0) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:126 #30 0x00007fffb9cdec56 in QtPrivate::FunctionPointer<void (KSvg::FrameSvgItem::*)()>::call<QtPrivate::List<>, void>(void (KSvg::FrameSvgItem::*)(), KSvg::FrameSvgItem*, void**) (f=(void (KSvg::FrameSvgItem::*)(KSvg::FrameSvgItem * const)) 0x7fffb9cd56ae <KSvg::FrameSvgItem::doUpdate()>, o=0x555556dbc8f0, arg=0x7fffffff70a0) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:174 #31 0x00007fffb9cde1a5 in QtPrivate::QCallableObject<void (KSvg::FrameSvgItem::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555556dbd030, r=0x555556dbc8f0, a=0x7fffffff70a0, ret=0x0) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:545 #32 0x00007ffff204ff12 in QtPrivate::QSlotObjectBase::call (this=0x555556dbd030, r=0x555556dbc8f0, a=0x7fffffff70a0) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #33 0x00007ffff20fac04 in doActivate<false> (sender=0x555556dbcbf0, signal_index=3, argv=0x7fffffff70a0) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4146 #34 0x00007ffff20f0663 in QMetaObject::activate (sender=0x555556dbcbf0, m=0x7ffff5bfd280 <KSvg::Svg::staticMetaObject>, local_signal_index=0, argv=0x0) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4206 --Type <RET> for more, q to quit, c to continue without paging-- #35 0x00007ffff5b95737 in KSvg::Svg::repaintNeeded (this=0x555556dbcbf0) at /home/david/projects/kde6/build/frameworks/ksvg/src/ksvg/KF6Svg_autogen/include/moc_svg.cpp:484 #36 0x00007ffff5b7da7f in KSvg::FrameSvgPrivate::updateAndSignalSizes (this=0x555556dbce50) at /home/david/projects/kde6/src/frameworks/ksvg/src/ksvg/framesvg.cpp:1005 #37 0x00007ffff5b7afd1 in KSvg::FrameSvgPrivate::updateFrameData (this=0x555556dbce50, lastModified=1727805102, updateType=KSvg::FrameSvgPrivate::UpdateFrameAndMargins) at /home/david/projects/kde6/src/frameworks/ksvg/src/ksvg/framesvg.cpp:725 #38 0x00007ffff5b767a1 in KSvg::FrameSvg::setElementPrefix (this=0x555556dbcbf0, prefix=...) at /home/david/projects/kde6/src/frameworks/ksvg/src/ksvg/framesvg.cpp:126 #39 0x00007ffff5b7d9f7 in KSvg::FrameSvgPrivate::updateNeeded (this=0x555556dbce50) at /home/david/projects/kde6/src/frameworks/ksvg/src/ksvg/framesvg.cpp:989 #40 0x00007ffff5b8ce14 in std::__invoke_impl<void, void (KSvg::FrameSvgPrivate::*&)(), KSvg::FrameSvgPrivate*&> (__f=@0x555556dbcf00: (void (KSvg::FrameSvgPrivate::*)(KSvg::FrameSvgPrivate * const)) 0x7ffff5b7d9d0 <KSvg::FrameSvgPrivate::updateNeeded()>, __t=@0x555556dbcf10: 0x555556dbce50) at /usr/include/c++/14.2.1/bits/invoke.h:74 #41 0x00007ffff5b8cd71 in std::__invoke<void (KSvg::FrameSvgPrivate::*&)(), KSvg::FrameSvgPrivate*&> (__fn=@0x555556dbcf00: (void (KSvg::FrameSvgPrivate::*)(KSvg::FrameSvgPrivate * const)) 0x7ffff5b7d9d0 <KSvg::FrameSvgPrivate::updateNeeded()>) at /usr/include/c++/14.2.1/bits/invoke.h:96 #42 0x00007ffff5b8ccd9 in std::_Bind<void (KSvg::FrameSvgPrivate::*(KSvg::FrameSvgPrivate*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (this=0x555556dbcf00, __args=...) at /usr/include/c++/14.2.1/functional:513 #43 0x00007ffff5b8caa9 in std::_Bind<void (KSvg::FrameSvgPrivate::*(KSvg::FrameSvgPrivate*))()>::operator()<, void>() (this=0x555556dbcf00) at /usr/include/c++/14.2.1/functional:598 #44 0x00007ffff5b8c447 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, std::_Bind<void (KSvg::FrameSvgPrivate::*(KSvg::FrameSvgPrivate*))()> >::call(std::_Bind<void (KSvg::FrameSvgPrivate::*(KSvg::FrameSvgPrivate*))()>&, void**)::{lambda()#1}::operator()() const (__closure=0x7fffffff73e0) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:116 #45 0x00007ffff5b8cae4 in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, std::_Bind<void (KSvg::FrameSvgPrivate::*(KSvg::FrameSvgPrivate*))()> >::call(std::_Bind<void (KSvg::FrameSvgPrivate::*(KSvg::FrameSvgPrivate*))()>&, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, std::_Bind<void (KSvg::FrameSvgPrivate::*(KSvg::FrameSvgPrivate*))()> >::call(std::_Bind<void (KSvg::FrameSvgPrivate::*(KSvg::FrameSvgPrivate*))()>&, void**)::{lambda()#1}&&) (args=0x7fffffff76d0, fn=...) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:65 #46 0x00007ffff5b8c48c in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, std::_Bind<void (KSvg::FrameSvgPrivate::*(KSvg::FrameSvgPrivate*))()> >::call(std::_Bind<void (KSvg::FrameSvgPrivate::*(KSvg::FrameSvgPrivate*))()>&, void**) (f=..., arg=0x7fffffff76d0) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:115 #47 0x00007ffff5b8ad7f in QtPrivate::FunctorCallable<std::_Bind<void (KSvg::FrameSvgPrivate::*(KSvg::FrameSvgPrivate*))()>>::call<QtPrivate::List<>, void>(std::_Bind<void (KSvg::FrameSvgPrivate::*(KSvg::FrameSvgPrivate*))()>&, void*, void**) (f=..., arg=0x7fffffff76d0) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:337 #48 0x00007ffff5b89275 in QtPrivate::QCallableObject<std::_Bind<void (KSvg::FrameSvgPrivate::*(KSvg::FrameSvgPrivate*))()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555556dbcef0, r=0x555556dbcbf0, a=0x7fffffff76d0, ret=0x0) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:547 #49 0x00007ffff204ff12 in QtPrivate::QSlotObjectBase::call (this=0x555556dbcef0, r=0x555556dbcbf0, a=0x7fffffff76d0) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #50 0x00007ffff20fac04 in doActivate<false> (sender=0x555556dbcbf0, signal_index=3, argv=0x7fffffff76d0) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4146 #51 0x00007ffff20f0663 in QMetaObject::activate (sender=0x555556dbcbf0, m=0x7ffff5bfd280 <KSvg::Svg::staticMetaObject>, local_signal_index=0, argv=0x0) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4206 #52 0x00007ffff5b95737 in KSvg::Svg::repaintNeeded (this=0x555556dbcbf0) at /home/david/projects/kde6/build/frameworks/ksvg/src/ksvg/KF6Svg_autogen/include/moc_svg.cpp:484 #53 0x00007ffff5b93237 in KSvg::Svg::setDevicePixelRatio (this=0x555556dbcbf0, ratio=2) at /home/david/projects/kde6/src/frameworks/ksvg/src/ksvg/svg.cpp:882 #54 0x00007fffb9cd71f4 in KSvg::FrameSvgItem::updateDevicePixelRatio (this=0x555556dbc8f0) at /home/david/projects/kde6/src/frameworks/ksvg/src/declarativeimports/framesvgitem.cpp:731 #55 0x00007fffb9cd74bb in KSvg::FrameSvgItem::itemChange (this=0x555556dbc8f0, change=QQuickItem::ItemDevicePixelRatioHasChanged, value=...) at /home/david/projects/kde6/src/frameworks/ksvg/src/declarativeimports/framesvgitem.cpp:774 #56 0x00007ffff50ce903 in updatePixelRatioHelper (item=0x555556dbc8f0, pixelRatio=pixelRatio@entry=2) at /home/david/projects/kde6/src/qtdeclarative/src/quick/items/qquickwindow.cpp:387 #57 0x00007ffff50ce89d in updatePixelRatioHelper (item=<optimized out>, pixelRatio=pixelRatio@entry=2) at /home/david/projects/kde6/src/qtdeclarative/src/quick/items/qquickwindow.cpp:392 #58 0x00007ffff50ce89d in updatePixelRatioHelper (item=<optimized out>, pixelRatio=2) at /home/david/projects/kde6/src/qtdeclarative/src/quick/items/qquickwindow.cpp:392 #59 0x00007ffff50d2ed0 in QQuickWindow::physicalDpiChanged (this=<optimized out>) at /home/david/projects/kde6/src/qtdeclarative/src/quick/items/qquickwindow.cpp:403 #60 0x00007ffff50d7e7c in QQuickWindow::event (this=<optimized out>, event=<optimized out>) at /home/david/projects/kde6/src/qtdeclarative/src/quick/items/qquickwindow.cpp:1614 #61 0x00007ffff5dcf180 in QApplicationPrivate::notify_helper (this=0x55555577c110, receiver=0x555556db8a30, e=0x7fffffff85d8) at /home/david/projects/kde6/src/qtbase/src/widgets/kernel/qapplication.cpp:3301 #62 0x00007ffff5dd3071 in QApplication::notify (this=0x7fffffffdd50, receiver=0x555556db8a30, e=0x7fffffff85d8) at /home/david/projects/kde6/src/qtbase/src/widgets/kernel/qapplication.cpp:3251 #63 0x00007ffff203a309 in QCoreApplication::notifyInternal2 (receiver=0x555556db8a30, event=0x7fffffff85d8) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106 #64 0x00007ffff203af79 in QCoreApplication::sendEvent (receiver=0x555556db8a30, event=0x7fffffff85d8) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546 #65 0x00007ffff335349c in QWindowPrivate::updateDevicePixelRatio (this=0x555556aabd40) at /home/david/projects/kde6/src/qtbase/src/gui/kernel/qwindow.cpp:1440 #66 0x00007ffff335b3c5 in QWindowPrivate::init(QWindow*, QScreen*)::$_0::operator()(QScreen*) const (this=0x555556da0b20) at /home/david/projects/kde6/src/qtbase/src/gui/kernel/qwindow.cpp:250 #67 0x00007ffff335b2e6 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QScreen*>, void, QWindowPrivate::init(QWindow*, QScreen*)::$_0>::call(QWindowPrivate::init(QWindow*, QScreen*)::$_0&, void**)::{lambda()#1}::operator()() const (this=0x7fffffff8710) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:116 #68 0x00007ffff335b2b9 in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QScreen*>, void, QWindowPrivate::init(QWindow*, QScreen*)::$_0>::call(QWindowPrivate::init(QWindow*, QScreen*)::$_0&, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QScreen*>, void, QWindowPrivate::init(QWindow*, QScreen*)::$_0>::call(QWindowPrivate::init(QWindow*, QScreen*)::$_0&, void**)::{lambda()#1}&&) (args=0x7fffffff8a80, fn=...) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #69 0x00007ffff335b27a in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QScreen*>, void, QWindowPrivate::init(QWindow*, QScreen*)::$_0>::call(QWindowPrivate::init(QWindow*, QScreen*)::$_0&, void**) (f=..., arg=0x7fffffff8a80) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:115 #70 0x00007ffff335b221 in QtPrivate::FunctorCallable<QWindowPrivate::init(QWindow*, QScreen*)::$_0, QScreen*>::call<QtPrivate::List<QScreen*>, void>(QWindowPrivate::init(QWindow*, QScreen*)::$_0&, void*, void**) --Type <RET> for more, q to quit, c to continue without paging-- (f=..., arg=0x7fffffff8a80) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:337 #71 0x00007ffff335b1cd in QtPrivate::QCallableObject<QWindowPrivate::init(QWindow*, QScreen*)::$_0, QtPrivate::List<QScreen*>, void>::impl (which=1, this_=0x555556da0b10, r=0x555556db8a30, a=0x7fffffff8a80, ret=0x0) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:547 #72 0x00007ffff204ff12 in QtPrivate::QSlotObjectBase::call (this=0x555556da0b10, r=0x555556db8a30, a=0x7fffffff8a80) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #73 0x00007ffff20fac04 in doActivate<false> (sender=0x555556db8a30, signal_index=3, argv=0x7fffffff8a80) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4146 #74 0x00007ffff20f0663 in QMetaObject::activate (sender=0x555556db8a30, m=0x7ffff3f51ae0 <QWindow::staticMetaObject>, local_signal_index=0, argv=0x7fffffff8a80) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4206 #75 0x00007ffff329316b in QMetaObject::activate<void, QScreen*> (sender=0x555556db8a30, mo=0x7ffff3f51ae0 <QWindow::staticMetaObject>, local_signal_index=0, ret=0x0, args=@0x7fffffff8ac0: 0x5555557900b0) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs.h:306 #76 0x00007ffff3351149 in QWindow::screenChanged (this=0x555556db8a30, _t1=0x5555557900b0) at src/gui/Gui_autogen/include/moc_qwindow.cpp:575 #77 0x00007ffff335214b in QWindowPrivate::emitScreenChangedRecursion (this=0x555556aabd40, newScreen=0x5555557900b0) at /home/david/projects/kde6/src/qtbase/src/gui/kernel/qwindow.cpp:508 #78 0x00007ffff33523df in QWindowPrivate::setTopLevelScreen (this=0x555556aabd40, newScreen=0x5555557900b0, recreate=false) at /home/david/projects/kde6/src/qtbase/src/gui/kernel/qwindow.cpp:532 #79 0x00007ffff3352c3c in QWindowPrivate::create (this=0x555556aabd40, recursive=false) at /home/david/projects/kde6/src/qtbase/src/gui/kernel/qwindow.cpp:563 #80 0x00007ffff3351a18 in QWindow::create (this=0x555556db8a30) at /home/david/projects/kde6/src/qtbase/src/gui/kernel/qwindow.cpp:734 #81 0x00007fffdbfa68f2 in surfaceForWindow (window=0x555556db8a30) at /home/david/projects/kde6/src/frameworks/kwindowsystem/src/platforms/wayland/surfacehelper.h:26 #82 0x00007fffdbfb7fe8 in WindowShadow::internalCreate (this=0x555556dbba10) at /home/david/projects/kde6/src/frameworks/kwindowsystem/src/platforms/wayland/windowshadow.cpp:136 #83 0x00007fffdbfb86f4 in WindowShadow::create (this=0x555556dbba10) at /home/david/projects/kde6/src/frameworks/kwindowsystem/src/platforms/wayland/windowshadow.cpp:180 #84 0x00007ffff58f2a06 in KWindowShadow::create (this=0x555556e04e10) at /home/david/projects/kde6/src/frameworks/kwindowsystem/src/kwindowshadow.cpp:257 #85 0x00007ffff7a10629 in DialogShadows::Private::updateShadow (this=0x555556d9e1a0, window=0x555556db8a30, enabledBorders=...) at /home/david/projects/kde6/src/plasma/libplasma/src/plasmaquick/dialogshadows.cpp:256 #86 0x00007ffff7a0f1ae in DialogShadows::addWindow (this=0x555556d64490, window=0x555556db8a30, enabledBorders=...) at /home/david/projects/kde6/src/plasma/libplasma/src/plasmaquick/dialogshadows.cpp:72 #87 0x00007ffff7a41ac2 in PlasmaQuick::PlasmaWindow::PlasmaWindow (this=0x555556db8a30, svgPrefix=...) at /home/david/projects/kde6/src/plasma/libplasma/src/plasmaquick/plasmawindow.cpp:62 #88 0x00007ffff7a456e6 in PlasmaQuick::PopupPlasmaWindow::PopupPlasmaWindow (this=0x555556db8a30, svgPrefix=...) at /home/david/projects/kde6/src/plasma/libplasma/src/plasmaquick/popupplasmawindow.cpp:283 #89 0x00007ffff79f9f0e in PlasmaQuick::AppletPopup::AppletPopup (this=0x555556db8a30) at /home/david/projects/kde6/src/plasma/libplasma/src/plasmaquick/appletpopup.cpp:63 #90 0x00007fffba4c01fa in QQmlPrivate::QQmlElement<PlasmaQuick::AppletPopup>::QQmlElement (this=0x555556db8a30) at /opt/kde6/include/QtQml/qqmlprivate.h:99 #91 0x00007fffba4c0243 in QQmlPrivate::createInto<PlasmaQuick::AppletPopup> (memory=0x555556db8a30) at /opt/kde6/include/QtQml/qqmlprivate.h:174 #92 0x00007ffff4a25bf6 in QQmlType::create (this=0x7fffffff9430, memory=0x7fffffff9340, additionalMemory=<optimized out>) at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmltype.cpp:512 #93 QQmlType::create (this=0x7fffffff9430, memory=0x7fffffff9340, additionalMemory=<optimized out>) at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmltype.cpp:506 #94 0x00007ffff4a25cb2 in QQmlType::createWithQQmlData (this=this@entry=0x7fffffff9430) at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmltype.cpp:527 #95 0x00007ffff49d1f21 in QQmlObjectCreator::createInstance (this=this@entry=0x555556d639e0, index=14, parent=0x555556ad8a10, isContextObject=isContextObject@entry=false) at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlobjectcreator.cpp:1330 #96 0x00007ffff49d3910 in QQmlObjectCreator::setPropertyBinding (this=this@entry=0x555556d639e0, bindingProperty=bindingProperty@entry=0x7fffac1f3dc0, binding=binding@entry=0x7fffb8014078) at /opt/kde6/include/QtCore/qendian.h:258 Git commit d6db21c8722466b8b38cdaed8582329567efc031 by David Edmundson. Committed on 27/03/2025 at 15:21. Pushed by davidedmundson into branch 'master'. wayland: Avoid creating the platform window in surfacehelper All window effect code has code to dynamically handle the window being created and torn down to update the wayland state. We don't need or want to explictly create a window ahead of time. This is proving problematic as there is a code-path that causes us to re-enter QWindow::create unsafely. M +0 -1 src/platforms/wayland/surfacehelper.h https://invent.kde.org/frameworks/kwindowsystem/-/commit/d6db21c8722466b8b38cdaed8582329567efc031 As mentioned[1] in the MR, the proposed patch fixes the issue but causes other problems. Feel free to mark as RESOLVED it you think it's appropriate, but for me I can't used the proposed fix in its current state. [1] https://invent.kde.org/frameworks/kwindowsystem/-/merge_requests/173#note_1182732 It now works for me with a patch on plasma-workspace [1]. I also opened MRs in Arch [2][3] to get this fixed hopefully ASAP. Thank you! <3 [1] https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/5348 [2] https://gitlab.archlinux.org/archlinux/packaging/packages/plasma-workspace/-/merge_requests/1 [3] https://gitlab.archlinux.org/archlinux/packaging/packages/kwindowsystem/-/merge_requests/1 *** Bug 502115 has been marked as a duplicate of this bug. *** *** Bug 502167 has been marked as a duplicate of this bug. *** *** Bug 502407 has been marked as a duplicate of this bug. *** *** Bug 501771 has been marked as a duplicate of this bug. *** *** Bug 502513 has been marked as a duplicate of this bug. *** *** Bug 506923 has been marked as a duplicate of this bug. *** |
Created attachment 177881 [details] thread apply all bt full Sorry I'm quite new to KDE, so I don't know the components and how to name things properly. I got this crash yesterday when, I think, interacting with the "Present Windows" top left corner thingie. The crash seems to involve handleScreensChanged but there was no screen event at that moment, I was working, not fiddling with displays. KDE Plasma 6.3 Beta 2