Bug 482663

Summary: Crash in QPaintDevice::devicePixelRatio() when hitting Alt-Tab on Wayland with QT_QUICK_BACKEND=software
Product: [Plasma] kwin Reporter: Balló György <ballogyor>
Component: tabboxAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED UPSTREAM    
Severity: crash CC: al.dumbrava, emppalms, nate, nickdiego
Priority: NOR Keywords: qt6
Version: 6.0.1   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
URL: https://codereview.qt-project.org/c/qt/qtdeclarative/+/576193
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Balló György 2024-03-07 08:34:03 UTC
SUMMARY
Core was generated by `/usr/bin/kwin_wayland --wayland-fd 7 --socket wayland-0 --xwayland-fd 8 --xwayl'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007326cf05507f in QPaintDevice::devicePixelRatio (this=0x62ea16958a08) at /usr/include/qt6/QtGui/qpaintdevice.h:49
49	    qreal devicePixelRatio() const { return metric(PdmDevicePixelRatioScaled) / devicePixelRatioFScale(); }


STEPS TO REPRODUCE
1. Set QT_QUICK_BACKEND=software environment variable in /etc/environment, then restart.
2. Start Plasma (Wayland) session.
3. Hit Alt-Tab.

OBSERVED RESULT
KWin crashes.

EXPECTED RESULT
Alt-Tab switcher should be displayed.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
KDE Plasma Version: 6.0.1
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2

ADDITIONAL INFORMATION
Full backtrace:
#0  0x00007326cf05507f in QPaintDevice::devicePixelRatio (this=0x62ea16958a08) at /usr/include/qt6/QtGui/qpaintdevice.h:49
#1  QSGSoftwareRenderer::render (this=0x62ea1663b020)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderer.cpp:77
        paintDevice = 0x62ea16958a08
        backingStore = 0x62ea1688b870
        renderTimer = {t1 = -9223372036854775808, t2 = -9223372036854775808}
        buildRenderListTime = <optimized out>
        updateRegion = {d = 0x0}
        optimizeRenderListTime = <optimized out>
        painter = {d_ptr = std::unique_ptr<QPainterPrivate> = {get() = 0x62ea14fd8f90}}
        rc = <optimized out>
        prevPainter = <optimized out>
        renderTime = <optimized out>
#2  0x00007326cf07cfe2 in QSGRenderer::renderScene (this=0x62ea1663b020)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/quick/scenegraph/coreapi/qsgrenderer.cpp:147
        profileFrames = false
        renderTime = 0
#3  0x00007326cf02dc9b in QQuickWindowPrivate::renderSceneGraph (this=0x62ea16687250)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/quick/items/qquickwindow.cpp:655
        q = 0x62ea162886c0
        sgRenderTarget = {rt = 0x0, rpDesc = 0x0, cb = 0x0, paintDevice = 0x0}
        devicePixelRatio = <optimized out>
        pixelSize = {wd = <optimized out>, ht = <optimized out>}
        matrixFlags = {i = 0}
        flipY = <optimized out>
        rect = {xp = 0, yp = 0, w = 896, h = 214}
#4  0x00007326cf0563e5 in QSGSoftwareRenderLoop::renderWindow (this=this@entry=0x62ea165ad3d0, window=<optimized out>, 
    window@entry=0x62ea162886c0, isNewExpose=isNewExpose@entry=true)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp:142
        cd = 0x62ea16687250
        data = @0x62ea1688d7d8: {updatePending = true, grabOnly = false}
        ctx = <optimized out>
        alsoSwap = true
        renderTimer = {t1 = -9223372036854775808, t2 = -9223372036854775808}
        renderTime = 0
        syncTime = 0
        polishTime = 0
        profileFrames = false
        softwareRenderer = 0x62ea1663b020
        swapTime = <optimized out>
        lastFrameTime = {mds = 0}
#5  0x00007326cf056ad1 in QSGSoftwareRenderLoop::exposureChanged (this=0x62ea165ad3d0, window=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp:196
#6  0x00007326cd5d3599 in QWindow::event (this=0x62ea162886c0, ev=0x7ffec03b59a0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/gui/kernel/qwindow.cpp:2553
        asMouseEvent = {<No data fields>}
        contextMenuTrigger = QEvent::MouseButtonPress
#7  0x00007326ce0f438b in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x62ea162886c0, e=0x7ffec03b59a0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/widgets/kernel/qapplication.cpp:3296
        consumed = false
        filtered = false
#8  0x00007326ccf39818 in QCoreApplication::notifyInternal2 (receiver=0x62ea162886c0, event=0x7ffec03b59a0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1121
        selfRequired = <optimized out>
        result = false
        cbdata = {0x62ea162886c0, 0x7ffec03b59a0, 0x7ffec03b593f}
        d = <optimized out>
        threadData = 0x62ea14fc7430
        scopeLevelCounter = {threadData = 0x62ea14fc7430}
#9  0x00007326ccf3986d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1553
#10 0x00007326cd57dda9 in QGuiApplicationPrivate::processExposeEvent (e=0x62ea168346e0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/gui/kernel/qguiapplication.cpp:3296
        window = 0x62ea162886c0
        p = 0x62ea16687250
        shouldSynthesizePaintEvents = <optimized out>
        wasExposed = <optimized out>
        exposeEvent = {<QEvent> = {_vptr.QEvent = 0x7326cdbec420 <vtable for QExposeEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7326cd231480 <(anonymous namespace)::qt_meta_stringdata_CLASSQEventENDCLASS>, data = 0x7326cd230ec0 <qt_meta_data_CLASSQEventENDCLASS>, static_metacall = 0x0, relatedMetaObjects = 0x0, metaTypes = 0x7326cd3c1e50 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_stringdata_CLASSQEventENDCLASS_t, QtPrivate::TypeAndForceComplete<QEvent::Type, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QEvent, std::integral_constant<bool, true> > >>, extradata = 0x0}}, t = 206, m_posted = false, m_spont = true, m_accept = true, m_unused = false, m_reserved = 0, m_inputEvent = 0, m_pointerEvent = 0, m_singlePointEvent = 0}, m_region = {d = 0x62ea1671a350}}
#11 0x00007326cd5da85c in QWindowSystemInterface::sendWindowSystemEvents (flags=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/gui/kernel/qwindowsysteminterface.cpp:1109
        event = 0x62ea168346e0
        nevents = 2
#12 0x00007326cda4c3d7 in QWindowSystemInterface::flushWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) [clone .constprop.0] (flags=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/gui/kernel/qwindowsysteminterface.cpp:1078
        count = 3
#13 0x00007326af4e2cc1 in non-virtual thunk to PlasmaQuick::Dialog::componentComplete() ()
    at /usr/src/debug/libplasma/libplasma-6.0.1/src/plasmaquick/dialog.h:254
#14 0x00007326cead76d6 in QQmlObjectCreator::finalize (this=0x62ea15640190, interrupt=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/qml/qml/qqmlobjectcreator.cpp:1521
        profiler = {profiler = <optimized out>}
        status = <optimized out>
        watcher = {sharedState = {o = 0x62ea165e2a20}, watcher = {_t = 0x62ea165e2a20, _r = false}}
        ocRestore = {varRef = @0x62ea153a0bd8, oldValue = 0x0}
#15 0x00007326ceaae867 in QQmlIncubatorPrivate::incubate (this=this@entry=0x62ea164c6180, i=...) at /usr/include/qt6/QtCore/qscopedpointer.h:90
        protectThis = {d = 0x62ea164c6180}
        watcher = {_t = 0x62ea164c6180, _r = false}
        enginePriv = 0x62ea153a0ae0
        callDepthRecorder = {ee = <optimized out>}
#16 0x00007326ceaaf4a6 in QQmlEnginePrivate::incubate (this=0x62ea153a0ae0, i=<optimized out>, forContext=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/qml/qml/qqmlincubator.cpp:53
        i = {mode = QQmlInstantiationInterrupt::None, deadline = {static Forever = QDeadlineTimer::ForeverConstant::Forever, t1 = 0, t2 = 0, type = 1}, runWhile = 0x0}
        watcher = {_t = 0x62ea164c6180, _r = true}
        p = {d = <optimized out>}
        mode = <optimized out>
#17 0x00007326cc3c5e9d in QQmlDelegateModelPrivate::object
    (this=0x62ea15386770, group=QQmlListCompositor::Default, index=0, incubationMode=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/qmlmodels/qqmldelegatemodel.cpp:1284
        ctxt = {o = 0x62ea164a4530}
        creationContext = <optimized out>
        componentContext = {o = 0x62ea166a8f90}
        cp = 0x62ea1635d970
        it = {range = 0x62ea1633a320, offset = <optimized out>, group = <optimized out>, groupFlag = <optimized out>, groupCount = <optimized out>, index = {<optimized out> <repeats 11 times>}}
        flags = <optimized out>
        modelIndex = <optimized out>
        cacheItem = <optimized out>
#18 0x00007326cc38fdf2 in QQmlInstantiatorPrivate::regenerate (this=0x62ea1639ff20)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/qmlmodels/qqmlinstantiator.cpp:56
        i = 0
        object = <optimized out>
        q = 0x62ea165ad4d0
        prevCount = 0
#19 0x00007326cea31298 in QQmlPropertyData::writeProperty (this=<optimized out>, target=<optimized out>, value=<optimized out>, flags=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/qml/qml/qqmlpropertydata_p.h:298
        status = -1
        argv = {0x7ffec03b5f37, 0x0, 0x7ffec03b5eec, 0x7ffec03b5edc}
#20 0x00007326cea46591 in GenericBinding<1>::doStore<bool> (flags=..., pd=<optimized out>, value=<optimized out>, this=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/qml/qml/qqmlbinding.cpp:272
        o = 0x7ffec03b5f37
#21 GenericBinding<1>::write (this=<optimized out>, result=..., isUndefined=false, flags=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/qml/qml/qqmlbinding.cpp:238
        pd = 0x73269c18e3f0
        vpd = {m_flags = {otherBits = 0, isConst = 0, isVMEFunction = 0, isWritableORhasArguments = 0, isResettableORisSignal = 0, isAliasORisVMESignal = 0, isFinalORisV4Function = 0, isSignalHandler = 0, isOverload = 0, isRequiredORisCloned = 0, isConstructorORisBindable = 0, isOverridden = 0, type = 0, overrideIndexIsProperty = 0}, m_coreIndex = -1, m_notifyIndex = -1, m_overrideIndex = -1, m_metaObjectOffset = -1, m_revision = {m_minorVersion = 0 '\000', m_majorVersion = 0 '\000'}, m_typeVersion = {m_minorVersion = 0 '\000', m_majorVersion = 0 '\000'}, m_propType = {d_ptr = 0x0}, {m_arguments = 0x0, m_staticMetaCallFunction = 0x0}}
        vtw = <optimized out>
#22 0x00007326cea452ea in QQmlBinding::doUpdate (this=0x62ea164b17c0, watcher=..., flags=..., scope=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/qml/qml/qqmlbinding.cpp:700
        isUndefined = false
        result = {ptr = <optimized out>}
        ep = 0x62ea153a0ae0
        error = false
        canWrite = {__watcher = <optimized out>, __this = <optimized out>}
        v4Function = <optimized out>
#23 0x00007326cea43d04 in QQmlBinding::update (this=0x62ea164b17c0, flags=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/qml/qml/qqmlbinding.cpp:164
        watcher = {_c = 0x62ea165ad4d0, _w = 0x7ffec03b60a0, _s = 0x62ea164b17c0}
        qmlEngine = 0x62ea15375830
        scope = {engine = 0x62ea15393cc0, mark = 0x7326b4dbf4e8}
        prof = {<QQmlProfilerHelper> = {<QQmlProfilerDefinitions> = {<No data fields>}, profiler = <optimized out>}, <No data fields>}
#24 0x00007326cead1217 in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0)
    at /usr/src/debug/qt6-declarative/qtdeclarative-everywhere-src-6.6.2/src/qml/qml/qqmlnotifier.cpp:70
        data = @0x7ffec03b6188: {originalSenderPtr = 0, disconnectWatch = 0x7ffec03b6188, endpoint = 0x62ea16601778}
        stack = {<QVLABase<(anonymous namespace)::NotifyListTraversalData>> = {<QVLABaseBase> = {a = 256, s = 1, ptr = 0x7ffec03b6188}, <No data fields>}, <QVLAStorage<24, 8, 256>> = {array = "\000\000\000\000\000\000\000\000\210a;\300\376\177\000\000x\027`\026\352b\000\000`\232\325\317&s\000\000\000\000\000\000&s\000\000\304a;\300\376\177\000\000\000\000\000\200\001\000\000\000\000\312\325\317&s\000\000\000\000\000\000&s\000\000?\000\000\000\000\000\000\000\000\000\000\200\001\000\000\000\000\312\325\317&s\000\000\000\000\000\000&s", '\000' <repeats 13 times>, "\200\001\000\000\000\000\312\325\317&s\000\000\020\000\000\000\000\000\000\000\220\237\325\317&s\000\000\000\375\377\310\332F\261\332\360c;\300\376\177\000\000p\344\030\234&s\000\000\274\263\252\265&s\000\000\240\245Z\026\352b\000\000\001\000\000\000\000\000\000\000 \031\002\300&s\000\000"...}, <No data fields>}
        i = <optimized out>
#25 0x00007326ccf90ada in doActivate<false> (sender=0x62ea161b3790, signal_index=3, argv=0x0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:3931
        sp = <optimized out>
        signal_spy_set = <optimized out>
        empty_argv = {0x0}
        senderDeleted = <optimized out>
#26 0x00007326cfaec593 in KWin::TabBox::SwitcherItem::visibleChanged (this=0x62ea161b3790)
    at /usr/src/debug/kwin/build/src/kwin_autogen/include/moc_switcheritem.cpp:434
#27 KWin::TabBox::SwitcherItem::setVisible (visible=true, this=0x62ea161b3790) at /usr/src/debug/kwin/kwin-6.0.1/src/tabbox/switcheritem.cpp:69
#28 KWin::TabBox::TabBoxHandlerPrivate::show (this=0x62ea152e2a40) at /usr/src/debug/kwin/kwin-6.0.1/src/tabbox/tabboxhandler.cpp:310
        indexRow = <optimized out>
        item = 0x62ea161b3790
        findMainItem = {__this = <optimized out>}
        findMainItem = {__this = <optimized out>}
        item = <optimized out>
        indexRow = <optimized out>
        w = <optimized out>
#29 KWin::TabBox::TabBoxHandler::show (this=0x62ea152a85f0) at /usr/src/debug/kwin/kwin-6.0.1/src/tabbox/tabboxhandler.cpp:358
#30 KWin::TabBox::TabBox::show (this=<optimized out>) at /usr/src/debug/kwin/kwin-6.0.1/src/tabbox/tabbox.cpp:483
#31 KWin::TabBox::TabBox::show (this=<optimized out>) at /usr/src/debug/kwin/kwin-6.0.1/src/tabbox/tabbox.cpp:473
#32 0x00007326ccf90ca9 in QtPrivate::QSlotObjectBase::call
    (a=0x7ffec03b7cc0, r=0x62ea15246a10, this=0x62ea153d18c0, this=<optimized out>, r=<optimized out>, a=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobjectdefs_impl.h:433
#33 doActivate<false> (sender=0x62ea15246a38, signal_index=3, argv=0x7ffec03b7cc0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:4039
        obj = {m_slotObject = std::unique_ptr<QtPrivate::QSlotObjectBase> = {get() = 0x62ea153d18c0}}
        receiver = 0x62ea15246a10
        td = <optimized out>
        receiverInSameThread = <optimized out>
        senderData = {previous = 0x0, receiver = 0x62ea15246a10, sender = 0x62ea15246a38, signal = 3}
        c = 0x62ea153d18f0
        connections = {d = 0x62ea153d1950}
        list = <optimized out>
        inSenderThread = <optimized out>
        highestConnectionId = <optimized out>
        signalVector = <optimized out>
        currentThreadId = <optimized out>
        sp = <optimized out>
        signal_spy_set = 0x0
        empty_argv = {0x0}
        senderDeleted = false
#34 0x00007326ccf98d64 in QTimer::timeout (_t1=..., this=0x62ea15246a38)
    at /usr/src/debug/qt6-base/build/src/corelib/Core_autogen/include/moc_qtimer.cpp:272
        _a = {0x0, 0x7ffec03b7cb8}
#35 QTimer::timerEvent (e=<optimized out>, this=0x62ea15246a38)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qtimer.cpp:252
        d = <optimized out>
#36 QTimer::timerEvent (this=0x62ea15246a38, e=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qtimer.cpp:246
        d = <optimized out>
#37 0x00007326ccf7c236 in QObject::event (this=0x62ea15246a38, e=0x7ffec03b7e60)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:1414
#38 0x00007326ce0f438b in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x62ea15246a38, e=0x7ffec03b7e60)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/widgets/kernel/qapplication.cpp:3296
        consumed = false
        filtered = false
#39 0x00007326ccf39818 in QCoreApplication::notifyInternal2 (receiver=0x62ea15246a38, event=0x7ffec03b7e60)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1121
        selfRequired = <optimized out>
        result = false
        cbdata = {0x62ea15246a38, 0x7ffec03b7e60, 0x7ffec03b7def}
        d = <optimized out>
        threadData = 0x62ea14fc7430
        scopeLevelCounter = {threadData = 0x62ea14fc7430}
#40 0x00007326cd09efa6 in QCoreApplication::sendEvent (event=0x7ffec03b7e60, receiver=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1539
#41 QTimerInfoList::activateTimers (this=this@entry=0x62ea14fd8d58)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qtimerinfo_unix.cpp:507
        e = {<QEvent> = {_vptr.QEvent = 0x7326cd3c1d30 <vtable for QTimerEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7326cd231480 <(anonymous namespace)::qt_meta_stringdata_CLASSQEventENDCLASS>, data = 0x7326cd230ec0 <qt_meta_data_CLASSQEventENDCLASS>, static_metacall = 0x0, relatedMetaObjects = 0x0, metaTypes = 0x7326cd3c1e50 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_stringdata_CLASSQEventENDCLASS_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}, id = 8}
        currentTimerInfo = 0x0
        now = {tv_sec = 128, tv_nsec = 388804280}
        stillActive = {__now = <optimized out>}
        it = {i = <optimized out>}
        maxCount = 0
        n_act = 1
#42 0x00007326cd09f9d1 in QEventDispatcherUNIXPrivate::activateTimers (this=0x62ea14fd8c80)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventdispatcher_unix.cpp:212
#43 QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=..., flags@entry=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventdispatcher_unix.cpp:481
        d = 0x62ea14fd8c80
        threadData = <optimized out>
        include_timers = <optimized out>
        include_notifiers = <optimized out>
        wait_for_events = <optimized out>
        canWait = <optimized out>
        tm = 0x7ffec03b7f00
        wait_tm = {tv_sec = 0, tv_nsec = 93000000}
        nevents = 0
#44 0x00007326cd9b26e2 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/gui/platform/unix/qunixeventdispatcher.cpp:27
        didSendEvents = <optimized out>
#45 0x00007326ccf43d6e in QEventLoop::processEvents (flags=..., this=0x7ffec03b8050)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventloop.cpp:100
        d = <optimized out>
        threadData = <optimized out>
#46 QEventLoop::exec (this=0x7ffec03b8050, flags=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventloop.cpp:182
        d = 0x62ea155e3ab0
        threadData = <optimized out>
        locker = {m_mutex = <optimized out>, m_isLocked = false}
        ref = {d = <optimized out>, locker = <optimized out>, exceptionCaught = <optimized out>}
        app = 0x7ffec03b83c0
#47 0x00007326ccf3c2b8 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/global/qflags.h:74
        threadData = 0x62ea14fc7430
        eventLoop = {<QObject> = {_vptr.QObject = 0x7326cd3c03b8 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7326cd2057e0 <_ZN12_GLOBAL__N_1L39qt_meta_stringdata_CLASSQObjectENDCLASSE.lto_priv.0>, data = 0x7326cd2056a0 <_ZL33qt_meta_data_CLASSQObjectENDCLASS.lto_priv.0>, static_metacall = 0x7326ccf87080 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7326cd3bea20 <_Z27qt_incomplete_metaTypeArrayIN12_GLOBAL__N_141qt_meta_stringdata_CLASSQObjectENDCLASS_tEJN9QtPrivate20TypeAndForceCompleteI7QStringSt17integral_constantIbLb1EEEENS3_I7QObjectS6_EENS3_IvS5_IbLb0EEEENS3_IPS8_SA_EESB_SB_NS3_IRKS4_SA_EESB_SB_NS3_IPvSA_EESD_EE.lto_priv.0>, extradata = 0x0}}, d_ptr = {d = 0x62ea155e3ab0}}, static staticMetaObject = {d = {superdata = {direct = 0x7326cd3beaa0 <QObject::staticMetaObject>}, stringdata = 0x7326cd204be0 <_ZN12_GLOBAL__N_1L42qt_meta_stringdata_CLASSQEventLoopENDCLASSE.lto_priv.0>, data = 0x7326cd204ae0 <_ZL36qt_meta_data_CLASSQEventLoopENDCLASS.lto_priv.0>, static_metacall = 0x7326ccf413e0 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7326cd3be520 <_Z27qt_incomplete_metaTypeArrayIN12_GLOBAL__N_144qt_meta_stringdata_CLASSQEventLoopENDCLASS_tEJN9QtPrivate20TypeAndForceCompleteI6QFlagsIN10QEventLoop17ProcessEventsFlagEESt17integral_constantIbLb1EEEENS3_IS5_S9_EENS3_IvS8_IbLb0EEEENS3_IiSC_EESD_SD_EE.lto_priv.0>, extradata = 0x0}}}
        returnCode = <optimized out>
#48 0x00007326ce0f0f0a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/widgets/kernel/qapplication.cpp:2574
#49 0x000062ea130e3dee in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin/kwin-6.0.1/src/main_wayland.cpp:609
        environment = {d = {d = 0x62ea14fd4450}}
        a = {<KWin::Application> = {<QApplication> = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x62ea1322ae68 <vtable for KWin::ApplicationWayland+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7326cd2057e0 <_ZN12_GLOBAL__N_1L39qt_meta_stringdata_CLASSQObjectENDCLASSE.lto_priv.0>, data = 0x7326cd2056a0 <_ZL33qt_meta_data_CLASSQObjectENDCLASS.lto_priv.0>, static_metacall = 0x7326ccf87080 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7326cd3bea20 <_Z27qt_incomplete_metaTypeArrayIN12_GLOBAL__N_141qt_meta_stringdata_CLASSQObjectENDCLASS_tEJN9QtPrivate20TypeAndForceCompleteI7QStringSt17integral_constantIbLb1EEEENS3_I7QObjectS6_EENS3_IvS5_IbLb0EEEENS3_IPS8_SA_EESB_SB_NS3_IRKS4_SA_EESB_SB_NS3_IPvSA_EESD_EE.lto_priv.0>, extradata = 0x0}}, d_ptr = {d = 0x62ea14fd6f60}}, static staticMetaObject = {d = {superdata = {direct = 0x7326cd3beaa0 <QObject::staticMetaObject>}, stringdata = 0x7326cd204ee0 <_ZN12_GLOBAL__N_1L48qt_meta_stringdata_CLASSQCoreApplicationENDCLASSE.lto_priv.0>, data = 0x7326cd204d40 <_ZL42qt_meta_data_CLASSQCoreApplicationENDCLASS.lto_priv.0>, static_metacall = 0x7326ccf42df0 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7326cd3be5a0 <_Z27qt_incomplete_metaTypeArrayIN12_GLOBAL__N_150qt_meta_stringdata_CLASSQCoreApplicationENDCLASS_tEJN9QtPrivate20TypeAndForceCompleteI7QStringSt17integral_constantIbLb1EEEES7_S7_S7_NS3_IbS6_EENS3_I16QCoreApplicationS6_EENS3_IvS5_IbLb0EEEESC_SC_SC_SC_SC_SC_NS3_IiSB_EESC_EE.lto_priv.0>, extradata = 0x0}}, static self = 0x7ffec03b83c0}, static staticMetaObject = {d = {superdata = {direct = 0x7326cd3be620 <QCoreApplication::staticMetaObject>}, stringdata = 0x7326cdabf940 <_ZN12_GLOBAL__N_1L47qt_meta_stringdata_CLASSQGuiApplicationENDCLASSE.lto_priv.0>, data = 0x7326cdabf640 <_ZL41qt_meta_data_CLASSQGuiApplicationENDCLASS.lto_priv.0>, static_metacall = 0x7326cd57f420 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7326cdbf5600 <_Z27qt_incomplete_metaTypeArrayIN12_GLOBAL__N_149qt_meta_stringdata_CLASSQGuiApplicationENDCLASS_tEJN9QtPrivate20TypeAndForceCompleteI5QIconSt17integral_constantIbLb1EEEENS3_I7QStringS6_EES9_NS3_IN2Qt15LayoutDirectionES6_EES9_NS3_IbS6_EENS3_IP7QScreenS6_EENS3_I15QGuiApplicationS6_EENS3_IvS5_IbLb0EEEESK_NS3_ISF_SJ_EESK_SL_SK_SL_SK_SK_NS3_IP7QObjectSJ_EESK_NS3_IP7QWindowSJ_EESK_NS3_INSA_16ApplicationStateESJ_EESK_NS3_ISB_SJ_EESK_NS3_IR15QSessionManagerSJ_EESK_SX_SK_SK_NS3_IRK8QPaletteSJ_EESK_NS3_IRK5QFontSJ_EESK_NS3_IxSJ_EESK_SO_EE.lto_priv.0>, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7326cdbf5a00 <QGuiApplication::staticMetaObject>}, stringdata = 0x7326ce5607c0 <_ZN12_GLOBAL__N_1L44qt_meta_stringdata_CLASSQApplicationENDCLASSE.lto_priv.0>, data = 0x7326ce560620 <_ZL38qt_meta_data_CLASSQApplicationENDCLASS.lto_priv.0>, static_metacall = 0x7326ce0ffc10 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7326ce6ac460 <_Z27qt_incomplete_metaTypeArrayIN12_GLOBAL__N_146qt_meta_stringdata_CLASSQApplicationENDCLASS_tEJN9QtPrivate20TypeAndForceCompleteIiSt17integral_constantIbLb1EEEES6_S6_S6_S6_S6_NS3_I7QStringS5_EENS3_IbS5_EENS3_I12QApplicationS5_EENS3_IvS4_IbLb0EEEENS3_IP7QWidgetSC_EESG_SD_NS3_IRKS7_SC_EESD_NS3_IKbSC_EESD_SD_EE.lto_priv.0>, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7326ce6acb40 <QApplication::staticMetaObject>}, stringdata = 0x7326cfbe3980 <_ZN12_GLOBAL__N_1L52qt_meta_stringdata_CLASSKWinSCOPEApplicationENDCLASSE.lto_priv.0>, data = 0x7326cfbe3800 <_ZL46qt_meta_data_CLASSKWinSCOPEApplicationENDCLASS.lto_priv.0>, static_metacall = 0x7326cf849e60 <KWin::Application::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7326cfd0e9e0 <_Z27qt_incomplete_metaTypeArrayIN12_GLOBAL__N_154qt_meta_stringdata_CLASSKWinSCOPEApplicationENDCLASS_tEJN9QtPrivate20TypeAndForceCompleteIjSt17integral_constantIbLb1EEEES6_NS3_IPvS5_EENS3_I28QExplicitlySharedDataPointerI13KSharedConfigES5_EESC_NS3_IN4KWin11Application13OperationModeES5_EENS3_ISE_S5_EENS3_IvS4_IbLb0EEEESJ_SJ_SJ_SJ_SJ_EE.lto_priv.0>, extradata = 0x0}}, static crashes = 0, m_eventFilters = {<QListSpecialMethods<QPointer<KWin::X11EventFilterContainer> >> = {<QListSpecialMethodsBase<QPointer<KWin::X11EventFilterContainer> >> = {<No data fields>}, <No data fields>}, d = {d = 0x62ea1625da00, ptr = 0x62ea1625da10, size = 4}}, m_genericEventFilters = {<QListSpecialMethods<QPointer<KWin::X11EventFilterContainer> >> = {<QListSpecialMethodsBase<QPointer<KWin::X11EventFilterContainer> >> = {<No data fields>}, <No data fields>}, d = {d = 0x0, ptr = 0x0, size = 0}}, m_eventFilter = std::unique_ptr<KWin::XcbEventFilter> = {get() = 0x62ea15093160}, m_followLocale1 = false, m_configLock = false, m_config = {d = 0x62ea15083cc0}, m_kxkbConfig = {d = 0x62ea150c6ec0}, m_inputConfig = {d = 0x62ea150c6bd0}, m_operationMode = KWin::Application::OperationModeXwayland, m_x11Time = 101980, m_rootWindow = 1184, m_compositeWindow = 0, m_connection = 0x62ea16258090, m_useKActivities = true, m_session = std::unique_ptr<KWin::Session> = {get() = 0x62ea150c5bb0}, m_outputBackend = std::unique_ptr<KWin::OutputBackend> = {get() = 0x7326c0009b90}, m_terminating = false, m_xwaylandScale = 1.3500000000000001, m_processEnvironment = {d = {d = 0x62ea153425d0}}, m_pluginManager = std::unique_ptr<KWin::PluginManager> = {get() = 0x62ea154fd5a0}, m_inputMethod = std::unique_ptr<KWin::InputMethod> = {get() = 0x62ea150cfa30}, m_colorManager = std::unique_ptr<KWin::ColorManager> = {get() = 0x62ea15515fe0}, m_tabletModeManager = std::unique_ptr<KWin::TabletModeManager> = {get() = 0x62ea15358180}, m_screenLockerWatcher = std::unique_ptr<KWin::ScreenLockerWatcher> = {get() = 0x62ea1509e9e0}, m_platformCursor = std::unique_ptr<KWin::Cursor> = {get() = 0x62ea15290730}}, static staticMetaObject = {d = {superdata = {direct = 0x7326cfd0eb60 <KWin::Application::staticMetaObject>}, stringdata = 0x62ea131d3fc0 <(anonymous namespace)::qt_meta_stringdata_CLASSKWinSCOPEApplicationWaylandENDCLASS>, data = 0x62ea131d3800 <qt_meta_data_CLASSKWinSCOPEApplicationWaylandENDCLASS>, static_metacall = 0x62ea130ea530 <KWin::ApplicationWayland::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x62ea132290a8 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_stringdata_CLASSKWinSCOPEApplicationWaylandENDCLASS_t, QtPrivate::TypeAndForceComplete<KWin::ApplicationWayland, std::integral_constant<bool, true> > >>, extradata = 0x0}}, m_startXWayland = true, m_applicationsToStart = {<QListSpecialMethods<QString>> = {<QListSpecialMethodsBase<QString>> = {<No data fields>}, <No data fields>}, d = {d = 0x0, ptr = 0x0, size = 0}}, m_inputMethodServerToStart = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 u'\000'}, m_sessionArgument = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 u'\000'}, m_xwayland = std::unique_ptr<KWin::Xwl::Xwayland> = {get() = 0x62ea15690c60}, m_xwaylandListenFds = {<QListSpecialMethods<int>> = {<QListSpecialMethodsBase<int>> = {<No data fields>}, <No data fields>}, d = {d = 0x62ea14fcbdc0, ptr = 0x62ea14fcbdd0, size = 2}}, m_xwaylandDisplay = {d = {d = 0x62ea1509ea60, ptr = 0x62ea1509ea70 u":0", size = 2}, static _empty = 0 u'\000'}, m_xwaylandXauthority = {d = {d = 0x62ea1509eb30, ptr = 0x62ea1509eb40 u"/run/user/1000/xauth_AUBExz", size = 27}, static _empty = 0 u'\000'}, m_settingsWatcher = {value = 0x62ea15095500, d = 0x62ea150662b0}}
        xwaylandOption = {d = {d = 0x62ea1509b010}}
        waylandSocketOption = {d = {d = 0x62ea1509b120}}
        x11DisplayOption = {d = {d = 0x62ea1509b210}}
        waylandDisplayOption = {d = {d = 0x62ea1509b440}}
        virtualFbOption = {d = {d = 0x62ea1509b5b0}}
        widthOption = {d = {d = 0x62ea1509b680}}
        heightOption = {d = {d = 0x62ea1509b7e0}}
        scaleOption = {d = {d = 0x62ea1509b860}}
        outputCountOption = {d = {d = 0x62ea1509bbc0}}
        waylandSocketFdOption = {d = {d = 0x62ea1509bc70}}
        xwaylandListenFdOption = {d = {d = 0x62ea1509bd80}}
        xwaylandDisplayOption = {d = {d = 0x62ea1509c1a0}}
        xwaylandXAuthorityOption = {d = {d = 0x62ea1509c310}}
        replaceOption = {d = {d = 0x62ea1509c540}}
        drmOption = {d = {d = 0x62ea1509c6f0}}
        locale1Option = {d = {d = 0x62ea1509c850}}
        parser = {d = 0x62ea1509c8d0}
        inputMethodOption = {d = {d = 0x62ea1509de20}}
        screenLockerOption = {d = {d = 0x62ea1509e000}}
        noScreenLockerOption = {d = {d = 0x62ea1509e0d0}}
        noGlobalShortcutsOption = {d = {d = 0x62ea1509e3e0}}
        noActivitiesOption = {d = {d = 0x62ea1509e570}}
        exitWithSessionOption = {d = {d = 0x62ea1509e700}}
        backendType = <optimized out>
        pluginName = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 u'\000'}
        initialWindowSize = {wd = <optimized out>, ht = <optimized out>}
        outputCount = <optimized out>
        outputScale = 1
        ok = true
        width = <optimized out>
        height = <optimized out>
        scale = <optimized out>
        count = <optimized out>
        server = <optimized out>
        flags = {i = <optimized out>}
        socketName = {d = {d = 0x62ea1509e980, ptr = 0x62ea1509e990 u"wayland-0", size = 9}, static _empty = 0 u'\000'}
Comment 1 Nate Graham 2024-03-07 19:45:09 UTC
Is there a particular reason you're using "QT_QUICK_BACKEND=software"? This is not officially supported by KDE and not tested as such, so I'm not super surprised you found an issue.
Comment 2 Balló György 2024-03-07 20:06:57 UTC
(In reply to Nate Graham from comment #1)
> Is there a particular reason you're using "QT_QUICK_BACKEND=software"?

Because the OpenGL backend of Qt Quick uses complex shaders that doesn't fit into the hardware limits of Intel's Gen3 GPUs. So the i915 driver fails to render various elements that are exceed its limits. Plasma 5 was usable with "QT_QUICK_BACKEND=software", just the window thumbnails are not rendered in that case, but everything else worked fine. Plasma 6 introduced some new issues which I reported.

This affects the GPUs defined here due to Shader Model 2.0:
https://invent.kde.org/plasma/kwin/-/blob/master/src/opengl/glplatform.cpp#L374-388

There is also a report for mesa:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/8379
Comment 3 Balló György 2024-03-08 13:13:14 UTC
I experienced the same crash after I unset QT_QUICK_BACKEND and set KWIN_COMPOSE=Q to test the QPainter backend of KWin.
Comment 4 Nate Graham 2024-03-08 20:42:53 UTC
Thanks for the context, that's helpful. Feel free to re-open the other bug reports of yours that I closed, but please change the titles to mention that you're forcing software rendering. Thanks again.
Comment 5 Balló György 2024-03-08 21:43:43 UTC
(In reply to Nate Graham from comment #4)
> Thanks for the context, that's helpful. Feel free to re-open the other bug
> reports of yours that I closed, but please change the titles to mention that
> you're forcing software rendering. Thanks again.

I can't reopen this bug, because I don't have rights:
https://bugs.kde.org/show_bug.cgi?id=482669
Comment 6 Nicolas Fella 2024-03-20 22:29:28 UTC
*** Bug 484101 has been marked as a duplicate of this bug. ***
Comment 7 Cannon Palms 2024-03-21 13:39:13 UTC
Are there reasonable alternatives to `QT_QUICK_BACKEND=software` we might use as a temporary workaround?
Comment 8 Balló György 2024-03-21 15:07:38 UTC
(In reply to Cannon Palms from comment #7)
> Are there reasonable alternatives to `QT_QUICK_BACKEND=software` we might
> use as a temporary workaround?

You could try KWIN_COMPOSE=O2 or KWIN_COMPOSE=O2ES environment variables to force KWin to use the OpenGL compositor. If it doesn't help, then you could try MESA_LOADER_DRIVER_OVERRIDE='' to force Mesa to fall back to LLVMpipe. Of course another option is to use the X11 session instead of Wayland.
Comment 9 al.dumbrava 2024-03-21 19:42:07 UTC
I recently upgraded my packages (a lot of k packages going from 24.02.0-1 -> 24.02.1-1) and started experiencing this bug. I did NOT set `QT_QUICK_BACKEND=software` in my environment file. I also noticed that my taskbar icons jump to the left as in bug 482669 after the update. My coredump also lists Qt6Quick so my assumption is that something from the update made my system start using QT_QUICK which causes this crash to happen. I have yet to try the flags mentioned in Comment 8, but I thought I'd add a "me too" to this bug.
Comment 10 Nicolas Fella 2024-05-17 09:08:37 UTC
*** Bug 487106 has been marked as a duplicate of this bug. ***
Comment 11 Bug Janitor Service 2024-06-04 08:07:01 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/5825
Comment 12 David Edmundson 2024-06-04 08:33:24 UTC
Git commit 8c149bb6b711c00e0fa3cf2f3d06a09dcc57a1e4 by David Edmundson.
Committed on 04/06/2024 at 08:33.
Pushed by davidedmundson into branch 'master'.

effects: Do not call RHI QQuickRenderControl methods when using software rendering

As per the docs:
Note: This function does not need to be, and must not be, called when
using the software adaptation of Qt Quick.

This sets up RHI on the render control, which in turn sets RHI on the
window, which shouldn't exist when using software rendering.
Related: bug 486078

M  +7    -3    src/effect/offscreenquickview.cpp

https://invent.kde.org/plasma/kwin/-/commit/8c149bb6b711c00e0fa3cf2f3d06a09dcc57a1e4
Comment 13 David Edmundson 2024-06-04 08:36:33 UTC
Git commit a22a8eb122bf2bb7c1e38450aa8d644f0a8ca30f by David Edmundson, on behalf of David Edmundson.
Committed on 04/06/2024 at 08:36.
Pushed by davidedmundson into branch 'Plasma/6.1'.

effects: Do not call RHI QQuickRenderControl methods when using software rendering

As per the docs:
Note: This function does not need to be, and must not be, called when
using the software adaptation of Qt Quick.

This sets up RHI on the render control, which in turn sets RHI on the
window, which shouldn't exist when using software rendering.
Related: bug 486078


(cherry picked from commit 8c149bb6b711c00e0fa3cf2f3d06a09dcc57a1e4)

a6826049 effects: Do not call RHI QQuickRenderControl methods when using software rendering

Co-authored-by: David Edmundson <kde@davidedmundson.co.uk>

M  +7    -3    src/effect/offscreenquickview.cpp

https://invent.kde.org/plasma/kwin/-/commit/a22a8eb122bf2bb7c1e38450aa8d644f0a8ca30f
Comment 14 Balló György 2024-06-25 20:01:41 UTC
I tested with KWin 6.1.0, but unfortunately it does not fixed.

I still got this backtrace:
#0  0x000079796dc7aea2 in QPaintDevice::devicePixelRatio (this=0x62521df8f0c8) at /usr/include/qt6/QtGui/qpaintdevice.h:49
#1  QSGSoftwareRenderer::render (this=0x62521df1f8b0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderer.cpp:77
#2  0x000079796dca6b93 in QSGRenderer::renderScene (this=0x62521df1f8b0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/scenegraph/coreapi/qsgrenderer.cpp:143
#3  0x000079796dc4cffd in QQuickWindowPrivate::renderSceneGraph (this=0x62521ca52980) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:682
#4  0x000079796dc7c2de in QSGSoftwareRenderLoop::renderWindow (this=this@entry=0x62521dc77b60, window=<optimized out>, window@entry=0x62521ddbaf80, 
    isNewExpose=isNewExpose@entry=true) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp:142
#5  0x000079796dc7ca21 in QSGSoftwareRenderLoop::exposureChanged (this=0x62521dc77b60, window=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp:196
#6  0x000079796c1def4c in QWindow::event (this=0x62521ddbaf80, ev=0x7fff793d2000) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindow.cpp:2600
#7  0x000079796ccfc51c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x62521ddbaf80, e=0x7fff793d2000)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3287
#8  0x000079796bb44d28 in QCoreApplication::notifyInternal2 (receiver=0x62521ddbaf80, event=0x7fff793d2000)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1142
#9  0x000079796bb44d7d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1597
#10 0x000079796c185814 in QGuiApplicationPrivate::processExposeEvent (e=0x62521dece420) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qguiapplication.cpp:3298
#11 0x000079796c1e5d64 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1114
#12 0x000079796c69c0e7 in QWindowSystemInterface::flushWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) [clone .constprop.0] (flags=...)
    at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1083
#13 0x0000797947f0dd79 in non-virtual thunk to PlasmaQuick::Dialog::componentComplete() () at /usr/src/debug/libplasma/libplasma-6.1.0/src/plasmaquick/dialog.h:254
#14 0x000079796d6e46f3 in QQmlObjectCreator::finalize (this=0x62521db93030, interrupt=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlobjectcreator.cpp:1567
#15 0x000079796d6b9657 in QQmlIncubatorPrivate::incubate (this=this@entry=0x62521dcf4830, i=...) at /usr/include/qt6/QtCore/qscopedpointer.h:90
#16 0x000079796d6ba068 in QQmlEnginePrivate::incubate (this=0x62521cb16aa0, i=..., forContext=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlincubator.cpp:53
#17 0x000079796abd4419 in QQmlDelegateModelPrivate::object (this=0x797940008310, group=QQmlListCompositor::Default, index=0, incubationMode=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qmlmodels/qqmldelegatemodel.cpp:1284
#18 0x000079796ab9cefc in QQmlInstantiatorPrivate::regenerate (this=0x62521c8240b0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qmlmodels/qqmlinstantiator.cpp:56
#19 0x000079796d64a8f3 in QQmlPropertyData::writeProperty (this=<optimized out>, target=<optimized out>, value=<optimized out>, flags=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlpropertydata_p.h:336
#20 0x000079796d663a88 in GenericBinding<1>::doStore<bool> (this=<optimized out>, value=<optimized out>, pd=<optimized out>, flags=...)
    at /usr/include/qt6/QtCore/qtaggedpointer.h:120
#21 GenericBinding<1>::write (this=<optimized out>, result=..., isUndefined=<optimized out>, flags=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:236
#22 0x000079796d65f8ed in QQmlBinding::doUpdate (this=0x62521ddcf760, watcher=..., flags=..., scope=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:701
#23 0x000079796d65ec9e in QQmlBinding::update (this=0x62521ddcf760, flags=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:164
#24 0x000079796d6dba4c in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:70
--Type <RET> for more, q to quit, c to continue without paging--c
#25 0x000079796bba144a in doActivate<false> (sender=0x62521d65f830, signal_index=3, argv=0x0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:3976
#26 0x000079796e7241d9 in KWin::TabBox::SwitcherItem::visibleChanged (this=0x62521d65f830) at /usr/src/debug/kwin/build/src/kwin_autogen/include/moc_switcheritem.cpp:347
#27 KWin::TabBox::SwitcherItem::setVisible (this=0x62521d65f830, visible=true) at /usr/src/debug/kwin/kwin-6.1.0/src/tabbox/switcheritem.cpp:69
#28 KWin::TabBox::TabBoxHandlerPrivate::show (this=0x62521ca6dea0) at /usr/src/debug/kwin/kwin-6.1.0/src/tabbox/tabboxhandler.cpp:310
#29 KWin::TabBox::TabBoxHandler::show (this=0x62521cb73200) at /usr/src/debug/kwin/kwin-6.1.0/src/tabbox/tabboxhandler.cpp:358
#30 KWin::TabBox::TabBox::show (this=<optimized out>) at /usr/src/debug/kwin/kwin-6.1.0/src/tabbox/tabbox.cpp:487
#31 KWin::TabBox::TabBox::show (this=<optimized out>) at /usr/src/debug/kwin/kwin-6.1.0/src/tabbox/tabbox.cpp:477
#32 0x000079796bba16f7 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, 
    a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:469
#33 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4086
#34 0x000079796bba9885 in QTimer::timeout (this=0x62521ca7a938, _t1=...) at /usr/src/debug/qt6-base/build/src/corelib/Core_autogen/include/moc_qtimer.cpp:224
#35 QTimer::timerEvent (e=<optimized out>, this=0x62521ca7a938) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimer.cpp:258
#36 QTimer::timerEvent (this=0x62521ca7a938, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimer.cpp:252
#37 0x000079796bb8bfc9 in QObject::event (this=0x62521ca7a938, e=0x7fff793d4550) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1427
#38 0x000079796ccfc51c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x62521ca7a938, e=0x7fff793d4550)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3287
#39 0x000079796bb44d28 in QCoreApplication::notifyInternal2 (receiver=0x62521ca7a938, event=0x7fff793d4550)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1142
#40 0x000079796bcc3c98 in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7fff793d4550)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1583
#41 QTimerInfoList::activateTimers (this=this@entry=0x62521c7ac538) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimerinfo_unix.cpp:434
#42 0x000079796bcc6368 in QEventDispatcherUNIXPrivate::activateTimers (this=0x62521c7ac460) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:196
#43 QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=..., flags@entry=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:472
#44 0x000079796c5f9693 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...)
    at /usr/src/debug/qt6-base/qtbase/src/gui/platform/unix/qunixeventdispatcher.cpp:27
#45 0x000079796bb4f01e in QEventLoop::processEvents (this=0x7fff793d4740, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:100
#46 QEventLoop::exec (this=0x7fff793d4740, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:182
#47 0x000079796bb4934d in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74
#48 0x000079796ccf83ba in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2555
#49 0x00006251e39ba069 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin/kwin-6.1.0/src/main_wayland.cpp:639
Comment 15 Nate Graham 2024-06-26 20:19:50 UTC
What does it think your devicepixelratio is?
Comment 16 Balló György 2024-06-26 20:39:26 UTC
(In reply to Nate Graham from comment #15)
> What does it think your devicepixelratio is?

How can I query it?

The crash happens both on a virtual machine and on a real system.
Comment 17 Nate Graham 2024-06-26 22:20:04 UTC
I was hoping you could find out by using gdb on that backtrace, since it looked like you knew your way around it.
Comment 18 Vlad Zahorodnii 2024-07-15 09:08:24 UTC
It's an upstream bug
Comment 19 Balló György 2024-12-20 10:56:25 UTC
I confirm that it was fixed. I cannot reproduce it anymore with KWin 6.2.4 and Qt 6.8.1.