Bug 501779 - Random kwin_wayland crash in KWin::TabBox::SwitcherItem::visibleChanged()
Summary: Random kwin_wayland crash in KWin::TabBox::SwitcherItem::visibleChanged()
Status: RESOLVED DUPLICATE of bug 501827
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (other bugs)
Version First Reported In: 6.3.3
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-20 08:07 UTC by Mark
Modified: 2025-03-21 17:43 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
Full backtrace (30.64 KB, text/x-log)
2025-03-20 08:07 UTC, Mark
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark 2025-03-20 08:07:39 UTC
Created attachment 179594 [details]
Full backtrace

SUMMARY
Random kwin_wayland crash during usage. Unsure on how to reproduce so I've attached a full backtrace.

STEPS TO REPRODUCE
Unsure.

OBSERVED RESULT
Crash.

EXPECTED RESULT
Not crash.

SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 41
KDE Plasma Version: 6.3.3
KDE Frameworks Version: 6.12.0
Qt Version: 6.8.2
Kernel Version: 6.13.7-200.fc41.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 8 × 11th Gen Intel® Core™ i7-11390H @ 3.40GHz
Memory: 15.4 GiB of RAM
Graphics Processor: Mesa Intel® Iris® Xe Graphics


ADDITIONAL INFORMATION
Comment 1 TraceyC 2025-03-21 00:46:28 UTC
Main part of the backtrace

#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=7, 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  0x00007f6aaa87fbc3 in __pthread_kill_internal (threadid=<optimized out>, signo=7) at pthread_kill.c:78
No locals.
#2  0x00007f6aaa826f9e in __GI_raise (sig=7) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#3  0x00007f6aae4de37e in KCrash::defaultCrashHandler (sig=7) at /usr/src/debug/kf6-kcrash-6.12.0-1.fc41.x86_64/src/kcrash.cpp:605
        data = {<KCrash::MetadataWriter> = {_vptr.MetadataWriter = 0x7f6aae4e7810 <vtable for KCrash::Metadata+16>}, argv = {_M_elems = {0x0, 0x7f6aae4e570d "--qtversion", 0x55e181160630 "6.8.2", 0x7f6aae4e5720 "--kdeframeworksversion", 0x7f6aae4e5719 "6.12.0", 0x7f6aae4e5758 "--platform", 0x7f6aae4e5750 "wayland", 0x7f6aae4e5789 "--appname", 0x55e181160710 "kwin_wayland", 0x7f6aae4e5793 "--apppath", 0x55e1811607b0 "/usr/bin", 0x7f6aae4e57a0 "--signal", 0x7ffeefc72106 "7", 0x7f6aae4e57ae "--pid", 0x7ffeefc72110 "2243", 0x7f6aae4e57b4 "--appversion", 0x55e181151fa0 "6.3.3", 0x7f6aae4e57c1 "--programname", 0x55e181151f40 "KWin", 0x7f6aae4e57cf "--bugaddress", 0x55e18112dc50 "submit@bugs.kde.org", 0x0 <repeats 17 times>}}, argc = 21, m_writer = 0x7ffeefc720b0}
        platformName = {d = {d = 0x55e1833b2380, ptr = 0x55e1833b2390 "wayland-org.kde.kwin.qpa", size = 24}, static _empty = 0 '\000'}
        about = 0x55e18115d6e0
        argv = 0x7ffeefc72138
        ini = {<KCrash::MetadataWriter> = {_vptr.MetadataWriter = 0x7f6aae4e7840 <vtable for KCrash::MetadataINIWriter+16>}, writable = false, fd = 150}
        sigtxt = "7\000\000\000\000\000\000\000\000"
        pidtxt = "2243", '\000' <repeats 12 times>, "\001\000\000"
        argc = <optimized out>
        crashRecursionCounter = 2
#4  <signal handler called>
No locals.
#5  QSpecialInteger<QLittleEndianStorageType<unsigned int> >::operator unsigned int (this=0x7f6a416cb68c) at /usr/include/qt6/QtCore/qendian.h:258
No locals.
#6  QV4::JSTypesStackFrame::setupJSFrame (function=..., this=0x7ffeefc72f90, stackSpace=0x7f6a743b8520, scope=0x7f6a56c85900, thisObject=..., newTarget=...) at /usr/src/debug/qt6-qtdeclarative-6.8.2-1.fc41.x86_64/src/qml/jsruntime/qv4stackframe_p.h:202
No locals.
#7  QV4::doCall (self=0x55e182ab34f0, thisObject=0x7f6a743b8508, argv=0x7f6a743b8520, argc=0, context=<optimized out>) at /usr/src/debug/qt6-qtdeclarative-6.8.2-1.fc41.x86_64/src/qml/jsruntime/qv4function.cpp:48
        engine = 0x55e181fb29f0
        frame = {<QV4::CppStackFrame> = {<QV4::CppStackFrameBase> = {parent = 0xfefefefefefefefe, v4Function = 0x55e182ab34f0, originalArgumentsCount = 0, instructionPointer = 0, {{savedStackTop = 0xfefefefefefefefe, jsFrame = 0xfefefefefefefefe, originalArguments = 0x7f6a743b8520, yield = 0x0, unwindHandler = 0x0, unwindLabel = 0x0, unwindLevel = 0, yieldIsIterator = false, callerCanHandleTailCall = false, pendingTailCall = false, isTailCalling = false}, {context = 0xfefefefefefefefe, thisObject = 0xfefefefefefefefe, metaTypes = 0x7f6a743b8520, returnAndArgs = 0x0, returnValueIsUndefined = false}}, kind = QV4::CppStackFrameBase::Kind::JS}, <No data fields>}, <No data fields>}
        result = <optimized out>
#8  0x00007f6aacb4cc48 in QV4::Function::call (this=<optimized out>, thisObject=thisObject@entry=0x7f6a743b8508, argv=argv@entry=0x7f6a743b8520, argc=<optimized out>, context=<optimized out>) at /usr/src/debug/qt6-qtdeclarative-6.8.2-1.fc41.x86_64/src/qml/jsruntime/qv4function.cpp:77
No locals.
#9  0x00007f6aaccd9177 in QQmlJavaScriptExpression::evaluate (this=this@entry=0x55e182b03f20, callData=callData@entry=0x7f6a743b84f0, isUndefined=isUndefined@entry=0x7ffeefc73180) at /usr/src/debug/qt6-qtdeclarative-6.8.2-1.fc41.x86_64/src/qml/qml/qqmljavascriptexpression.cpp:238
        qmlEngine = <optimized out>
        v4Function = <optimized out>
        capture = {watcher = {_c = 0x0, _w = 0x7ffeefc73250, _s = 0x55e182b03f20}, capture = {engine = 0x55e181feb380, expression = 0x55e182b03f20, watcher = 0x7ffeefc73080, guards = {_first = {d = 94427047816848}}, errorString = 0x0}, ep = 0x55e181fa04c0, lastPropertyCapture = 0x0}
        scope = <optimized out>
        result = <optimized out>
#10 0x00007f6aacc61273 in QQmlBinding::evaluate (this=this@entry=0x55e182b03f20, isUndefined=isUndefined@entry=0x7ffeefc73180) at /usr/src/debug/qt6-qtdeclarative-6.8.2-1.fc41.x86_64/src/qml/qml/qqmlbinding.cpp:195
        v4 = 0x55e181fb29f0
        argc = <optimized out>
        argv = <optimized out>
        thisObject = <optimized out>
        b = <optimized out>
        scope = <optimized out>
        jsCall = <optimized out>
#11 0x00007f6aacc6137a in QQmlBinding::doUpdate (this=0x55e182b03f20, watcher=..., flags=..., scope=...) at /usr/src/debug/qt6-qtdeclarative-6.8.2-1.fc41.x86_64/src/qml/qml/qqmlbinding.cpp:713
        isUndefined = false
        result = <optimized out>
        ep = 0x55e181fa04c0
        error = false
        canWrite = <optimized out>
        v4Function = <optimized out>
#12 0x00007f6aacc651b8 in QQmlBinding::update (this=0x55e182b03f20, flags=...) at /usr/src/debug/qt6-qtdeclarative-6.8.2-1.fc41.x86_64/src/qml/qml/qqmlbinding.cpp:165
        watcher = {_c = 0x55e182a87ef0, _w = 0x7ffeefc73250, _s = 0x55e182b03f20}
        qmlEngine = <optimized out>
        scope = {engine = 0x55e181fb29f0, mark = 0x7f6a743b84f0}
        prof = <optimized out>
#13 0x00007f6aacd0a195 in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0) at /usr/src/debug/qt6-qtdeclarative-6.8.2-1.fc41.x86_64/src/qml/qml/qqmlnotifier.cpp:70
        data = @0x7ffeefc732f8: {originalSenderPtr = 94427048623968, disconnectWatch = 0x7ffeefc732f8, endpoint = 0x55e182a46ec8}
        stack = {<QVLABase<(anonymous namespace)::NotifyListTraversalData>> = {<QVLABaseBase> = {a = 256, s = 1, ptr = 0x7ffeefc732f8}, <No data fields>}, <QVLAStorage<24, 8, 256>> = {array = "`\277\260\202\341U\000\000\3702\307\357\376\177\000\000\310n\244\202\341U\000\000\001\332\361\252j\177\000\000\000\000\000\000\341U", '\000' <repeats 18 times>, "p3\307\357\376\177\000\000\000ͻ\277\"\213\221g\000\000\271C\000\000yCж\021\203\341U\000\000ж\021\203\341U\000\000\2604\307\357\376\177\000\000\260@\307\357\376\177\000\000\340\213˂\341U\000\000p9\307\357\376\177\000\000\367|ۭj\177\000\000\000\000\000\000\000\000\360?ж\021\203\341U\000\000\360\230\351\201\341U\000\000p5\307\357\376\177\000\000\310@\307\357\376\177\000\000\340@\307\357\376\177\000\000\260@\307\357\376\177\000\000po\r\203\341U\000\000\200A\307\357\376\177"...}, static PreallocatedSize = <optimized out>}
        i = <optimized out>
#14 0x00007f6aaaf59c2d in doActivate<false> (sender=0x55e182b0bf60, signal_index=3, argv=0x0) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qobject.cpp:4005
        sp = <optimized out>
        signal_spy_set = <optimized out>
        empty_argv = {0x0}
        senderDeleted = <optimized out>
#15 0x00007f6aaaf50867 in QMetaObject::activate (sender=sender@entry=0x55e182b0bf60, m=m@entry=0x7f6aae3e6420 <KWin::TabBox::SwitcherItem::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qobject.cpp:4175
        signal_index = <optimized out>
#16 0x00007f6aae034e4a in KWin::TabBox::SwitcherItem::visibleChanged (this=0x55e182b0bf60) at /usr/src/debug/kwin-6.3.3-1.fc41.x86_64/redhat-linux-build/src/kwin_autogen/include/moc_switcheritem.cpp:346
No locals.
#17 KWin::TabBox::SwitcherItem::setVisible (this=0x55e182b0bf60, visible=true) at /usr/src/debug/kwin-6.3.3-1.fc41.x86_64/src/tabbox/switcheritem.cpp:69
No locals.
#18 KWin::TabBox::TabBoxHandlerPrivate::show (this=0x55e181f17660) at /usr/src/debug/kwin-6.3.3-1.fc41.x86_64/src/tabbox/tabboxhandler.cpp:310
        indexRow = <optimized out>
        item = 0x55e182b0bf60
        findMainItem = <optimized out>
        findMainItem = <optimized out>
        item = <optimized out>
        indexRow = <optimized out>
        w = <optimized out>
#19 KWin::TabBox::TabBoxHandler::show (this=0x55e181e9d6b0) at /usr/src/debug/kwin-6.3.3-1.fc41.x86_64/src/tabbox/tabboxhandler.cpp:354
No locals.
#20 KWin::TabBox::TabBox::show (this=<optimized out>) at /usr/src/debug/kwin-6.3.3-1.fc41.x86_64/src/tabbox/tabbox.cpp:494
No locals.
#21 KWin::TabBox::TabBox::show (this=<optimized out>) at /usr/src/debug/kwin-6.3.3-1.fc41.x86_64/src/tabbox/tabbox.cpp:484
No locals.
#22 0x00007f6aaaf5a26e in QtPrivate::QSlotObjectBase::call (this=0x55e181fdfd30, r=<optimized out>, a=0x7ffeefc74e50) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qobjectdefs_impl.h:486
No locals.
#23 doActivate<false> (sender=0x55e181f47e18, signal_index=3, argv=0x7ffeefc74e50) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qobject.cpp:4115
        obj = {m_slotObject = std::unique_ptr<QtPrivate::QSlotObjectBase> = {get() = 0x55e181fdfd30}}
        receiver = <optimized out>
        td = <optimized out>
        receiverInSameThread = <optimized out>
        senderData = {previous = 0x0, receiver = 0x55e181f47df0, sender = 0x55e181f47e18, signal = 3}
        c = 0x55e181fdfd60
        connections = {d = 0x55e181fdfdc0}
        list = 0x55e181fdfe40
        inSenderThread = <optimized out>
        highestConnectionId = 1
        signalVector = <optimized out>
        currentThreadId = 0x7f6aa455a2c0
        sp = <optimized out>
        signal_spy_set = 0x0
        empty_argv = {0x0}
        senderDeleted = false
#24 0x00007f6aaaf50867 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f6aab481060, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffeefc74e50) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qobject.cpp:4175
        signal_index = <optimized out>
#25 0x00007f6aaaf6a02d in QTimer::timeout (this=<optimized out>, _t1=...) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qtimer.cpp:223
        _a = {0x0, 0x7ffeefc74e4f}
#26 0x00007f6aaaf4b935 in QObject::event (this=0x55e181f47e18, e=0x7ffeefc75000) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qobject.cpp:1448
No locals.
#27 0x00007f6aac23d9b8 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55e181f47e18, e=0x7ffeefc75000) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/widgets/kernel/qapplication.cpp:3296
        consumed = false
        filtered = false
#28 0x00007f6aaaef3590 in QCoreApplication::notifyInternal2 (receiver=0x55e181f47e18, event=0x7ffeefc75000) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1172
        selfRequired = <optimized out>
        result = false
        cbdata = {0x55e181f47e18, 0x7ffeefc75000, 0x7ffeefc74f5f}
        d = <optimized out>
        threadData = 0x55e18107d9f0
        scopeLevelCounter = {threadData = 0x55e18107d9f0}
#29 0x00007f6aaaef37ed in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1612
No locals.
#30 0x00007f6aab0b4e28 in QTimerInfoList::activateTimers (this=this@entry=0x55e1810ba388) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qtimerinfo_unix.cpp:426
        e = {<QEvent> = {_vptr.QEvent = 0x7f6aab47ec30 <vtable for QTimerEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f6aab2f9b40 <qt_meta_stringdata_ZN6QEventE>, data = 0x7f6aab2f9560 <qt_meta_data_ZN6QEventE>, static_metacall = 0x0, relatedMetaObjects = 0x0, metaTypes = 0x7f6aab479940 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t, QtPrivate::TypeAndForceComplete<QEvent::Type, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QEvent, std::integral_constant<bool, true> > >>, extradata = 0x0}}, t = 1, m_posted = false, m_spont = false, m_accept = true, m_unused = false, m_reserved = 0, m_inputEvent = 0, m_pointerEvent = 0, m_singlePointEvent = 0}, m_id = (unknown: 0x4100000f)}
        currentTimerInfo = 0x0
        now = std::chrono::_V2::steady_clock time_point = { 342220870296ns }
        stillActive = <optimized out>
        it = <optimized out>
        maxCount = <optimized out>
        n_act = 1
#31 0x00007f6aab0b6fe0 in QEventDispatcherUNIXPrivate::activateTimers (this=this@entry=0x55e1810ba2b0) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qeventdispatcher_unix.cpp:199
No locals.
#32 0x00007f6aab0b929b in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qeventdispatcher_unix.cpp:475
        d = 0x55e1810ba2b0
        threadData = <optimized out>
        include_timers = true
        include_notifiers = <optimized out>
        wait_for_events = <optimized out>
        canWait = <optimized out>
        deadline = <optimized out>
        nevents = 0
#33 0x00007f6aabccabf2 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/gui/platform/unix/qunixeventdispatcher.cpp:27
        didSendEvents = <optimized out>
#34 0x00007f6aaaf00993 in QEventLoop::exec (this=this@entry=0x7ffeefc751d0, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/global/qflags.h:34
        d = 0x55e182343000
        threadData = <optimized out>
        locker = {m_mutex = 0x55e18107db28, m_isLocked = false}
        ref = <optimized out>
        app = <optimized out>
#35 0x00007f6aaaefbf6e in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/global/qflags.h:74
        threadData = 0x55e18107d9f0
        eventLoop = {<QObject> = {_vptr.QObject = 0x7f6aab47eda8 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f6aab2fd7a0 <qt_meta_stringdata_ZN7QObjectE>, data = 0x7f6aab2fd680 <qt_meta_data_ZN7QObjectE>, static_metacall = 0x7f6aaaf57250 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7f6aab4808a0 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_tag_ZN7QObjectE_t, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QObject, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QString const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> > >>, extradata = 0x0}}, d_ptr = {d = 0x55e182343000}}, static staticMetaObject = {d = {superdata = {direct = 0x55e155ad2180 <QObject::staticMetaObject>}, stringdata = 0x7f6aab2fad20 <qt_meta_stringdata_ZN10QEventLoopE>, data = 0x7f6aab2fac20 <qt_meta_data_ZN10QEventLoopE>, static_metacall = 0x7f6aaaf00570 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7f6aab47ecc0 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_tag_ZN10QEventLoopE_t, QtPrivate::TypeAndForceComplete<QFlags<QEventLoop::ProcessEventsFlag>, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QEventLoop, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<int, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> > >>, extradata = 0x0}}}
        returnCode = <optimized out>
#36 0x00007f6aab6d7d3d in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/gui/kernel/qguiapplication.cpp:1975
No locals.
#37 0x00007f6aac23d929 in QApplication::exec () at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/widgets/kernel/qapplication.cpp:2564
No locals.
#38 0x000055e155981786 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin-6.3.3-1.fc41.x86_64/src/main_wayland.cpp:622
Comment 2 Nate Graham 2025-03-21 17:43:14 UTC

*** This bug has been marked as a duplicate of bug 501827 ***