Bug 460223 - Closing IntelliJ IDEA 2022.2.3 crashes kwin_wayland completely
Summary: Closing IntelliJ IDEA 2022.2.3 crashes kwin_wayland completely
Status: RESOLVED DUPLICATE of bug 458598
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: 5.25.5
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: wayland
Depends on:
Blocks:
 
Reported: 2022-10-11 04:39 UTC by David Rubio
Modified: 2022-10-11 16:08 UTC (History)
2 users (show)

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


Attachments
stacktrace obtained using GDB (10.45 KB, text/plain)
2022-10-11 04:39 UTC, David Rubio
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Rubio 2022-10-11 04:39:27 UTC
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.
Comment 1 David Rubio 2022-10-11 04:42:54 UTC
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.
Comment 2 Nicolas Fella 2022-10-11 16:05:19 UTC
#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  ()
Comment 3 Nicolas Fella 2022-10-11 16:08:11 UTC

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