Created attachment 152694 [details] stacktrace obtained using GDB SUMMARY Having IntelliJ IDEA running for a while, opening some dialogs, etc (aka working as usual) causes kwin_wayland to crash. This is not reproducible by me by just opening a window and closing it inmediatly, I have to work on it for a while, thus I'm not exactly sure what could trigger it. As you might imagine, this is making work on kwin_wayland excruciatingly difficult, as the whole Wayland session crashing is as good as the entire computer restarting, as everything gets forcefully closed. This is consistent, and has happened several days between this and last week. This also happened with Frameworks 5.98, but I'm on 5.99 now, so that's the current one. Not really sure of what component to pick here. STEPS TO REPRODUCE 1. Open IntelliJ 2. Do some work on it (open dialogs, open class files, commit popups, etc) 3. Close IntelliJ OBSERVED RESULT The entirety of the kwin_wayland session crashes EXPECTED RESULT No crash, or, as a concession, not bring down the entire Wayland session (which kills everything I was working on) SOFTWARE/OS VERSIONS Linux: 6.0.0-zen1-1-zen KDE Plasma Version: 5.25.5 KDE Frameworks Version: 5.99 Qt Version: 5.15.6 ADDITIONAL INFORMATION Attached is the stacktrace obtained using GDB. Debug symbols were used for it, but if anything is missing let me know. I'll be glad to provide any information that might be needed.
Adding that IntelliJ runs as a X11 application. I do not run any X11 applications beside this one (java please add Wayland support...), so I'm not too sure if anything could be going on here. I tried running another app as an X11 app, but closing it worked just fine. Considering the excruciatingly weird circumstances that make this crash (usually involving opening several parent windows, closing them, and then closing the window), I'm not sure how I'd go about reproducing this outside IntelliJ.
#0 KWin::Window::output() const (this=0x0) at /usr/src/debug/kwin-5.25.5/src/window.cpp:422 #1 0x00007f5a23ecc27a in KWin::Workspace::clientArea(KWin::clientAreaOption, KWin::Window const*) const (this=0x557678494f80, opt=KWin::PlacementArea, window=0x0) at /usr/src/debug/kwin-5.25.5/src/workspace.cpp:2304 #2 0x00007f5a23e6285e in KWin::WorkspaceWrapper::clientArea(KWin::WorkspaceWrapper::ClientAreaOption, KWin::Window*) const (c=<optimized out>, option=<optimized out>, this=0x55767872b120) at /usr/src/debug/kwin-5.25.5/src/scripting/workspace_wrapper.cpp:285 _r = {x1 = <optimized out>, y1 = <optimized out>, x2 = <optimized out>, y2 = <optimized out>} _t = 0x55767872b120 #3 KWin::WorkspaceWrapper::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=_o@entry=0x55767872b120, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=96, _a=_a@entry=0x7ffc95f47190) at /usr/src/debug/build/src/kwin_autogen/include/moc_workspace_wrapper.cpp:697 _r = {x1 = <optimized out>, y1 = <optimized out>, x2 = <optimized out>, y2 = <optimized out>} _t = 0x55767872b120 #4 0x00007f5a23e63cc3 in KWin::WorkspaceWrapper::qt_metacall(QMetaObject::Call, int, void**) (this=this@entry=0x55767872b120, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=96, _a=_a@entry=0x7ffc95f47190) at /usr/src/debug/build/src/kwin_autogen/include/moc_workspace_wrapper.cpp:963 #5 0x00007f5a23e63ce5 in KWin::DeclarativeScriptWorkspaceWrapper::qt_metacall(QMetaObject::Call, int, void**) (this=0x55767872b120, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7ffc95f47190) at /usr/src/debug/build/src/kwin_autogen/include/moc_workspace_wrapper.cpp:1343 #6 0x00007f5a23876784 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const (this=0x7ffc95f47430, type=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlobjectorgadget.cpp:51 #7 0x00007f5a2377add1 in CallMethod (callType=<optimized out>, callArgs=0x7ffc95f47150, engine=<optimized out>, argTypes=<optimized out>, argCount=<optimized out>, returnType=<optimized out>, index=<optimized out>, object=<optimized out>) at /usr/include/qt/QtCore/qvarlengtharray.h:189 args = {a = 9, s = 3, ptr = 0x7ffc95f471f0, {array = "\020]\353yvU\000\000\023\000\000@\264\244$X\000\000\000\000\000\000\000\000\360q\364\225\374\177\000\000\377\377\377\377\000\000\000\000\000\000\000\000Z\177\000\000\b\000\000\000\000\000\000\000\000\206\031\233\264\244$X@r\364\225\374\177\000\000\002\000\000\000\377\377\377\377\000\000\000\000\000\000\000\000r\004\000\200\000\000\000\000\240r\364\225\374\177\000\000@r\364\225\374\177\000\000\377\377\377\377\000\000\000\000\243\373\252!Z\177\000\000\250r\364\225\374\177\000\000\000\206\031\233\264\244$X\240r\364\225\374\177\000\000\360\376\377\377\377\377\377\377\v\000\000\000\000\000\000\000\000nYyvU\000\000@s\364\225\374\177\000\000\003\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000"..., q_for_alignment_1 = 93967339969808, q_for_alignment_2 = 4.642603451016717e-310}} argData = {a = 9, s = 3, ptr = 0x7ffc95f47190, {array = "\034]\353yvU\000\000\030r\364\225\374\177\000\000@r\364\225\374\177\000\000 s\364\225\374\177\000\000\370s\364\225\374\177\000\000\000\206\031\233\264\244$XhK\342wvU\000\000\360\376\377\377\377\377\377\377\v\000\000\000\000\000\000", q_for_alignment_1 = 93967339969820, q_for_alignment_2 = 4.6426034510173099e-310}} args = <optimized out> storage = {a = 9, s = 0, ptr = 0x7ffc95f47150, {array = "@\327\212yvU\000\000\377\377\377\377\000\000\377\377\000\000\000\000\000\000\000\000\000\206\031\233\264\244$Xp\307,z", q_for_alignment_1 = 93967333644096, q_for_alignment_2 = 4.6426031384850185e-310}} unknownTypeError = {d = 0x7f5a22b74ec0 <QArrayData::shared_null>} returnType = <optimized out> #8 CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) (object=..., data=..., engine=engine@entry=0x5576786ed320, callArgs=callArgs@entry=0x7f59e3bc1690, callType=callType@entry=QMetaObject::InvokeMetaMethod) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1568 args = <optimized out> storage = {a = 9, s = 0, ptr = 0x7ffc95f47150, {array = "@\327\212yvU\000\000\377\377\377\377\000\000\377\377\000\000\000\000\000\000\000\000\000\206\031\233\264\244$Xp\307,z", q_for_alignment_1 = 93967333644096, q_for_alignment_2 = 4.6426031384850185e-310}} unknownTypeError = {d = 0x7f5a22b74ec0 <QArrayData::shared_null>} returnType = <optimized out> #9 0x00007f5a2377c388 in CallOverloaded (callType=QMetaObject::InvokeMetaMethod, propertyCache=<optimized out>, callArgs=0x7f59e3bc1690, engine=<optimized out>, data=..., object=...) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1644 best = {m_propTypeAndRelativePropIndex = {<QBasicAtomicInteger<unsigned int>> = {_q_value = std::atomic<unsigned int> = { 19 }}, <No data fields>}, m_flags = {isConstantORisVMEFunction = 0, isWritableORhasArguments = 1, isResettableORisSignal = 0, isAliasORisVMESignal = 0, isFinalORisV4Function = 0, isSignalHandler = 0, isOverload = 1, isRequiredORisCloned = 0, isConstructor = 0, isDirect = 1, isOverridden = 1, type = 1, overrideIndexIsProperty = 0}, m_coreIndex = 101, m_notifyIndex = -1, m_overrideIndex = 100, m_revision = 0 '\000', m_typeMinorVersion = 0 '\000', m_metaObjectOffset = 1, m_arguments = {<QBasicAtomicPointer<QQmlPropertyCacheMethodArguments>> = {_q_value = std::atomic<QQmlPropertyCacheMethodArguments *> = { 0x5576798c0440 }}, <No data fields>}, m_staticMetaCallFunction = 0x0} attempt = <optimized out> argumentCount = <optimized out> bestParameterScore = 0 bestMatchScore = 20 dummy = {m_propTypeAndRelativePropIndex = {<QBasicAtomicInteger<unsigned int>> = {_q_value = std::atomic<unsigned int> = { 0 }}, <No data fields>}, m_flags = {isConstantORisVMEFunction = 0, isWritableORhasArguments = 0, isResettableORisSignal = 0, isAliasORisVMESignal = 0, isFinalORisV4Function = 0, isSignalHandler = 0, isOverload = 0, isRequiredORisCloned = 0, isConstructor = 0, isDirect = 0, isOverridden = 0, type = 0, overrideIndexIsProperty = 0}, m_coreIndex = -1, m_notifyIndex = -1, m_overrideIndex = -1, m_revision = 0 '\000', m_typeMinorVersion = 0 '\000', m_metaObjectOffset = -1, m_arguments = {<QBasicAtomicPointer<QQmlPropertyCacheMethodArguments>> = {_q_value = std::atomic<QQmlPropertyCacheMethodArguments *> = { 0x0 }}, <No data fields>}, m_staticMetaCallFunction = 0x0} v4 = <optimized out> object = {<QQmlMetaObject> = {_m = {ptr_value = 93967312932512, static FlagBit = 1, static Flag2Bit = 2, static FlagsMask = 3}}, ptr = {ptr_value = 93967315284256, static Flag2Bit = 2, static FlagsMask = 3}} method = {m_propTypeAndRelativePropIndex = {<QBasicAtomicInteger<unsigned int>> = {_q_value = std::atomic<unsigned int> = { 19 }}, <No data fields>}, m_flags = {isConstantORisVMEFunction = 0, isWritableORhasArguments = 1, isResettableORisSignal = 0, isAliasORisVMESignal = 0, isFinalORisV4Function = 0, isSignalHandler = 0, isOverload = 1, isRequiredORisCloned = 0, isConstructor = 0, isDirect = 1, isOverridden = 0, type = 1, overrideIndexIsProperty = 0}, m_coreIndex = 102, m_notifyIndex = -1, m_overrideIndex = 101, m_revision = 0 '\000', m_typeMinorVersion = 0 '\000', m_metaObjectOffset = 1, m_arguments = {<QBasicAtomicPointer<QQmlPropertyCacheMethodArguments>> = {_q_value = std::atomic<QQmlPropertyCacheMethodArguments *> = { 0x0 }}, <No data fields>}, m_staticMetaCallFunction = 0x0} scope = {engine = 0x5576786ed320, mark = 0x7f59e3bc1690} cData = {scope = @0x7ffc95f47420, argc = 2, args = 0x7f59e3bc15f0, thisObject = 0x7f59e3bc15d8} callData = 0x7f59e3bc1690 #10 QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2132 v4 = <optimized out> object = {<QQmlMetaObject> = {_m = {ptr_value = 93967312932512, static FlagBit = 1, static Flag2Bit = 2, static FlagsMask = 3}}, ptr = {ptr_value = 93967315284256, static Flag2Bit = 2, static FlagsMask = 3}} method = {m_propTypeAndRelativePropIndex = {<QBasicAtomicInteger<unsigned int>> = {_q_value = std::atomic<unsigned int> = { 19 }}, <No data fields>}, m_flags = {isConstantORisVMEFunction = 0, isWritableORhasArguments = 1, isResettableORisSignal = 0, isAliasORisVMESignal = 0, isFinalORisV4Function = 0, isSignalHandler = 0, isOverload = 1, isRequiredORisCloned = 0, isConstructor = 0, isDirect = 1, isOverridden = 0, type = 1, overrideIndexIsProperty = 0}, m_coreIndex = 102, m_notifyIndex = -1, m_overrideIndex = 101, m_revision = 0 '\000', m_typeMinorVersion = 0 '\000', m_metaObjectOffset = 1, m_arguments = {<QBasicAtomicPointer<QQmlPropertyCacheMethodArguments>> = {_q_value = std::atomic<QQmlPropertyCacheMethodArguments *> = { 0x0 }}, <No data fields>}, m_staticMetaCallFunction = 0x0} scope = {engine = 0x5576786ed320, mark = 0x7f59e3bc1690} cData = {scope = @0x7ffc95f47420, argc = 2, args = 0x7f59e3bc15f0, thisObject = 0x7f59e3bc15d8} callData = 0x7f59e3bc1690 #11 0x00007f5a237a174e in QV4::FunctionObject::call(QV4::Value const*, QV4::Value const*, int) const (argc=2, argv=0x7f59e3bc15f0, thisObject=0x7f59e3bc15d8, this=0x7ffc95f47578) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4functionobject_p.h:202 l = <optimized out> f = {<QV4::StaticValue> = {_val = 140024046098272, static NaNEncodeMask = 18445618173802708992, static Immediate_Mask_64 = 131072, static Immediate_Mask_32 = 2147352576}, <No data fields>} #12 QV4::Runtime::CallPropertyLookup::call(QV4::ExecutionEngine*, QV4::Value const&, unsigned int, QV4::Value*, int) (engine=0x5576786ed320, base=..., index=<optimized out>, argv=0x7f59e3bc15f0, argc=2) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4runtime.cpp:1460 l = <optimized out> f = {<QV4::StaticValue> = {_val = 140024046098272, static NaNEncodeMask = 18445618173802708992, static Immediate_Mask_64 = 131072, static Immediate_Mask_32 = 2147352576}, <No data fields>} #13 0x00007f59e0007446 in () #14 0x00007ffc95f477b0 in () #15 0x0000000000000000 in ()
*** This bug has been marked as a duplicate of bug 458598 ***