| Summary: | KWin crashes in KWin::X11Window::moveResizeInternal() on Xwayland window resize while closing | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | kde |
| Component: | generic-crash | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | crash | CC: | nate |
| Priority: | NOR | ||
| Version First Reported In: | 6.1.4 | ||
| Target Milestone: | --- | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | bt full | ||
Pasting inline for searchability:
(gdb) bt full
#0 std::__atomic_base<QObjectPrivate::Connection*>::load (this=0x71, __m=std::memory_order_acquire) at /usr/include/c++/14.1.1/bits/atomic_base.h:831
__b = std::memory_order_acquire
__PRETTY_FUNCTION__ = <optimized out>
__b = <optimized out>
#1 std::atomic<QObjectPrivate::Connection*>::load (this=0x71, __m=std::memory_order_acquire) at /usr/include/c++/14.1.1/atomic:582
No locals.
#2 QAtomicOps<QObjectPrivate::Connection*>::loadAcquire<QObjectPrivate::Connection*> (_q_value=<error reading variable: Cannot access memory at address 0x71>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qatomic_cxx11.h:214
No locals.
#3 QBasicAtomicPointer<QObjectPrivate::Connection>::loadAcquire (this=0x71) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qbasicatomic.h:177
No locals.
#4 QObjectPrivate::maybeSignalConnected (this=0x7f08b9bf6b20 <main_arena+96>, signalIndex=9) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:489
cd = 0x5ef9be25ea20
signalVector = 0x61
#5 0x00007f08ba1a147a in doActivate<false> (sender=0x5ef9c0580730, signal_index=9, argv=0x7fff56ba1138) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:3986
sp = <optimized out>
signal_spy_set = 0x0
empty_argv = {0x0}
senderDeleted = <optimized out>
#6 0x00007f08bc9d04d2 in KWin::X11Window::moveResizeInternal (this=0x5ef9c0580730, rect=..., mode=<optimized out>) at /usr/src/debug/kwin/kwin-6.1.4/src/x11window.cpp:4420
frameGeometry = {xp = 800, yp = 199, w = 3440, h = 1416}
clientGeometry = {xp = 800, yp = 199, w = 3440, h = 1416}
bufferGeometry = {xp = 800, yp = 199, w = 3440, h = 1416}
oldBufferGeometry = {xp = 800, yp = 199, w = 3438, h = 1394}
oldFrameGeometry = {xp = 800, yp = 199, w = 3438, h = 1394}
oldClientGeometry = {xp = 800, yp = 199, w = 3438, h = 1394}
oldOutput = 0x5ef9bba9f4a0
#7 0x00007f08bc96ac98 in KWin::Window::qt_metacall (this=0x5ef9c0580730, _c=QMetaObject::WriteProperty, _id=67, _a=0x7fff56ba1350) at /usr/src/debug/kwin/build/src/kwin_autogen/include/moc_window.cpp:1475
No locals.
#8 0x00007f08bc9d7ecf in KWin::X11Window::qt_metacall (this=0x5ef9c0580730, _c=QMetaObject::WriteProperty, _id=<optimized out>, _a=0x7fff56ba1350) at /usr/src/debug/kwin/build/src/kwin_autogen/include/moc_x11window.cpp:204
No locals.
#9 0x00007f08bba4a94f in QQmlPropertyData::doMetacall<(QMetaObject::Call)2> (this=<optimized out>, object=<optimized out>, idx=<optimized out>, argv=0x7fff56ba1350) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlpropertydata_p.h:360
dynamicMetaObject = <optimized out>
#10 QQmlPropertyData::doMetacall<(QMetaObject::Call)2> (this=<optimized out>, object=<optimized out>, idx=<optimized out>, argv=0x7fff56ba1350) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlpropertydata_p.h:355
No locals.
#11 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:378
status = -1
argv = {0x5ef9bdcfe038, 0x0, 0x7fff56ba134c, 0x7fff56ba133c}
#12 0x00007f08bbafcc1a in tryConvertAndAssign (object=<optimized out>, property=..., value=..., flags=..., propertyMetaType=..., variantMetaType=..., isUrl=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1414
ok = 216
f = -9.16544174e-10
converted = {d = {static MaxInternalSize = 24, data = {data = "\020\360a\273\017\000\000\000\320\026\272V\377\177\000\000@\025\272V\377\177\000", shared = 0xfbb61f010, _forAlignment = 3.3383159612067167e-313}, is_shared = 0, is_null = 0, packedType = 34918870885816}}
converted = <optimized out>
jsValue = <optimized out>
f = <optimized out>
b = <optimized out>
ok = <optimized out>
i = <optimized out>
ok = <optimized out>
u = <optimized out>
ok = <optimized out>
d = <optimized out>
ok = <optimized out>
f = <optimized out>
s = <optimized out>
m = <optimized out>
#13 QQmlPropertyPrivate::write (object=0x5ef9c0580730, property=..., value=..., context=..., flags=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1532
result = <optimized out>
propertyMetaType = <optimized out>
variantMetaType = <optimized out>
bindingFixer = {untypedBinding = {d = {d = 0x0}}}
enginePriv = 0x5ef9bb6f8dd0
isUrl = <optimized out>
#14 0x00007f08bb9c535e in QV4::QObjectWrapper::setProperty (engine=engine@entry=0x5ef9bb6fe6c0, object=object@entry=0x5ef9c0580730, property=0x5ef9bc2723e0, value=...) at /usr/include/qt6/QtCore/qflags.h:73
v = {d = {static MaxInternalSize = 24, data = {data = "0\340Ͻ\371^", '\000' <repeats 17 times>, shared = 0x5ef9bdcfe030, _forAlignment = 5.1593657026269966e-310}, is_shared = 1, is_null = 0, packedType = 34918865807560}}
callingQmlContext = {o = 0x5ef9bbb7abf0}
scope = {engine = 0x5ef9bb6fe6c0, mark = 0x7f08b07bf828}
propType = <optimized out>
vmemo = <optimized out>
#15 0x00007f08bb9c5a6e in QV4::QObjectWrapper::setQmlProperty (engine=engine@entry=0x5ef9bb6fe6c0, qmlContext=..., object=0x5ef9c0580730, name=name@entry=0x7f08b07bf820, flags=..., flags@entry=..., value=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:567
local = {m_flags = {otherBits = 0, isConst = 0, isVMEFunction = 0, isWritableORhasArguments = 0, isResettableORisSignal = 0, isAliasORisVMESignal = 0, isFinalORisV4Function = 0, isSignalHandler = 0, isOverridableSignal = 0, isRequiredORisCloned = 0, isConstructorORisBindable = 0, isOverridden = 0, hasMetaObject = 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, m_metaObject = 0x0}}
result = <optimized out>
#16 0x00007f08bb9c5bfb in QV4::QObjectWrapper::virtualPut (m=0x7f08b07bf810, id=..., value=..., receiver=0x7f08b07bf810) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:939
scope = {engine = 0x5ef9bb6fe6c0, mark = 0x7f08b07bf820}
that = 0x7f08b07bf810
name = <optimized out>
qmlContext = {o = 0x5ef9bbb7abf0}
#17 0x00007f08bb99d228 in QV4::Lookup::setterFallback (l=0x5ef9bbb8a980, engine=0x5ef9bb6fe6c0, object=..., value=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4lookup.cpp:591
scope = {engine = 0x5ef9bb6fe6c0, mark = 0x7f08b07bf810}
o = <optimized out>
name = <optimized out>
#18 0x00007f08bb9e5dda in QV4::Runtime::SetLookupStrict::call (f=<optimized out>, base=..., index=<optimized out>, value=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4runtime.cpp:1164
engine = 0x5ef9bb6fe6c0
l = <optimized out>
#19 0x00007f08a98cfa07 in ?? ()
No symbol table info available.
#20 0x00005ef9bbb72b80 in ?? ()
No symbol table info available.
#21 0x00007fff56ba1be0 in ?? ()
No symbol table info available.
#22 0x00005ef9bb6fe6c0 in ?? ()
No symbol table info available.
#23 0x0000000000000000 in ?? ()
No symbol table info available.
Do you use any custom script? It looks like it does something wrong that it shouldn't do (In reply to Vlad Zahorodnii from comment #2) > Do you use any custom script? It looks like it does something wrong that it > shouldn't do Yes, I am using anametologin's krohnkite. (In reply to kde from comment #3) > (In reply to Vlad Zahorodnii from comment #2) > > Do you use any custom script? It looks like it does something wrong that it > > shouldn't do > > Yes, I am using anametologin's krohnkite. Can you please report this issue to them? The script shouldn't do anything with a window after it's closed. When a window is closed, it should remove the window from its internal list and that's mostly all. I guess we could add some guards in moveResizeInternal() to prevent kwin from crashing though > I guess we could add some guards in moveResizeInternal() to prevent kwin from crashing though
but scripts should still behave as expected
*** This bug has been marked as a duplicate of bug 492213 *** |
Created attachment 172689 [details] bt full SUMMARY While exiting IntelliJ, KWin crashed. 5 windows were being closed. I have not been able to reproduce this issue. Visually, a bit of the IntelliJ window was missing and was showing the desktop background but the rest of the window was still on screen. I said resize/close in the title because while the windows were being closed, the backtrace seems to be resizing the windows. I am using krohnkite; while it may be responsible for resizing the window, KWin shouldn't crash. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.1.4 KDE Frameworks Version: 6.4.0 Qt Version: 6.7.2 Kernel Version: 6.10.3-arch1-2 (64-bit) Graphics Platform: Wayland ADDITIONAL INFORMATION Backtrace is attached.