Bug 466418

Summary: kwin-wayland in plasma 5.27 crashes when switching decorations to breeze
Product: [Plasma] kwin Reporter: avemilia
Component: decorationsAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: normal CC: nate
Priority: NOR    
Version: 5.27.1   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: coredump description, bt and bt full

Description avemilia 2023-02-25 17:51:44 UTC
Created attachment 156718 [details]
coredump description, bt and bt full

SUMMARY

kwin-wayland in plasma 5.27 consistently crashes when switching window decorations from custom theme to breeze. Breeze theme has some configurations: window specific overrides -> match .* ; border size -> no border ; hide window title bar. when it is enabled, window border size -> theme's default (no borders)

STEPS TO REPRODUCE
1. enable a custom theme (e.g. materia)
2. observe no crash
3. switch to breeze
4. kwin crashes

OBSERVED RESULT

kwin crashes

EXPECTED RESULT

kwin shouldn't crash

SOFTWARE/OS VERSIONS

Operating System: Fedora Linux 37
KDE Plasma Version: 5.27.1
KDE Frameworks Version: 5.103.0
Qt Version: 5.15.8
Kernel Version: 6.1.13-200.fc37.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 16 × 12th Gen Intel® Core™ i5-1240P
Memory: 31,0 GiB of RAM
Graphics Processor: Mesa Intel® Graphics
Manufacturer: HP
Product Name: HP EliteBook 840 14 inch G9 Notebook PC

ADDITIONAL INFORMATION

not sure if kwin also crashed before 5.27. see coredump description, bt and bt full attached.
Comment 1 avemilia 2023-02-25 17:57:01 UTC
for quick view, bt:

#0  std::__atomic_base<int>::load(std::memory_order) const (__m=std::memory_order::relaxed, this=0x0)
    at /usr/include/c++/12/bits/atomic_base.h:486
#1  QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&)
    (_q_value=<error reading variable: Cannot access memory at address 0x0>)
    at /usr/include/qt5/QtCore/qatomic_cxx11.h:239
#2  QBasicAtomicInteger<int>::loadRelaxed() const (this=0x0) at /usr/include/qt5/QtCore/qbasicatomic.h:107
#3  QtPrivate::RefCount::ref() (this=0x0) at /usr/include/qt5/QtCore/qrefcount.h:55
#4  QList<KWin::SceneDelegate*>::QList(QList<KWin::SceneDelegate*> const&)
    (l=<error reading variable: Cannot access memory at address 0xc>..., this=0x7fffdd903fe8)
    at /usr/include/qt5/QtCore/qlist.h:856
#5  KWin::Scene::delegates() const (this=0x56186b90ccb0)
    at /usr/src/debug/kwin-5.27.1-2.fc37.x86_64/src/scene/scene.cpp:124
#6  0x00007fd28209fbe7 in KWin::Item::scheduleRepaintInternal(QRegion const&)
    (this=this@entry=0x56186b6d3c30, region=...)
    at /usr/src/debug/kwin-5.27.1-2.fc37.x86_64/src/scene/item.cpp:301
#7  0x00007fd2820a0f21 in KWin::Item::updateEffectiveVisibility() (this=this@entry=0x56186b6d3c30)
    at /usr/src/debug/kwin-5.27.1-2.fc37.x86_64/src/scene/item.cpp:401
#8  0x00007fd2820a2555 in KWin::Item::setParentItem(KWin::Item*)
    (this=this@entry=0x56186b6d3c30, item=item@entry=0x0)
    at /usr/src/debug/kwin-5.27.1-2.fc37.x86_64/src/scene/item.cpp:86
#9  0x00007fd2820a3026 in KWin::Item::~Item() (this=0x56186b6d3c30, this=<optimized out>)
    at /usr/src/debug/kwin-5.27.1-2.fc37.x86_64/src/scene/item.cpp:25
#10 0x00007fd281fdd24e in KWin::SurfaceItem::~SurfaceItem() (this=0x56186b6d3c30, this=<optimized out>)
    at /usr/src/debug/kwin-5.27.1-2.fc37.x86_64/redhat-linux-build/src/kwin_autogen/QSLIUTEOWB/../../../../src/scene/surfaceitem.h:21
#11 KWin::SurfaceItemInternal::~SurfaceItemInternal() (this=0x56186b6d3c30, this=<optimized out>)
    at /usr/src/debug/kwin-5.27.1-2.fc37.x86_64/redhat-linux-build/src/kwin_autogen/QSLIUTEOWB/../../../../src/scene/surfaceitem_internal.h:22
#12 KWin::SurfaceItemInternal::~SurfaceItemInternal() (this=0x56186b6d3c30, this=<optimized out>)
    at /usr/src/debug/kwin-5.27.1-2.fc37.x86_64/redhat-linux-build/src/kwin_autogen/QSLIUTEOWB/../../../../src/scene/surfaceitem_internal.h:22
#13 0x00007fd2820a8364 in std::default_delete<KWin::SurfaceItem>::operator()(KWin::SurfaceItem*) const
    (__ptr=<optimized out>, this=<optimized out>) at /usr/include/c++/12/bits/unique_ptr.h:95
#14 std::unique_ptr<KWin::SurfaceItem, std::default_delete<KWin::SurfaceItem> >::~unique_ptr()
    (this=0x56186b47a188, this=<optimized out>) at /usr/include/c++/12/bits/unique_ptr.h:396
#15 KWin::WindowItem::~WindowItem() (this=0x56186b47a090, this=<optimized out>)
    at /usr/src/debug/kwin-5.27.1-2.fc37.x86_64/src/scene/windowitem.cpp:57
#16 0x00007fd281fdcfcb in KWin::WindowItemInternal::~WindowItemInternal()
    (this=0x56186b47a090, this=<optimized out>)
    at /usr/src/debug/kwin-5.27.1-2.fc37.x86_64/redhat-linux-build/src/kwin_autogen/QSLIUTEOWB/../../../../src/scene/windowitem.h:116
#17 KWin::WindowItemInternal::~WindowItemInternal() (this=0x56186b47a090, this=<optimized out>)
    at /usr/src/debug/kwin-5.27.1-2.fc37.x86_64/redhat-linux-build/src/kwin_autogen/QSLIUTEOWB/../../../../src/scene/windowitem.h:116
#18 0x00007fd282117756 in std::default_delete<KWin::WindowItem>::operator()(KWin::WindowItem*) const
    (__ptr=<optimized out>, this=<optimized out>) at /usr/include/c++/12/bits/unique_ptr.h:89
#19 std::unique_ptr<KWin::WindowItem, std::default_delete<KWin::WindowItem> >::~unique_ptr()
    (this=0x56186b642f90, this=<optimized out>) at /usr/include/c++/12/bits/unique_ptr.h:396
#20 KWin::Window::~Window() (this=0x56186b642e60, this=<optimized out>)
    at /usr/src/debug/kwin-5.27.1-2.fc37.x86_64/src/window.cpp:133
#21 0x00007fd28202bc8d in KWin::Deleted::~Deleted() (this=0x56186b642e60, this=<optimized out>)
    at /usr/src/debug/kwin-5.27.1-2.fc37.x86_64/src/deleted.cpp:50
#22 0x00007fd2806c7f71 in QObject::event(QEvent*) (this=0x56186b642e60, e=0x56186b4e83a0)
    at kernel/qobject.cpp:1334
#23 0x00007fd27fdaed62 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    (this=<optimized out>, receiver=0x56186b642e60, e=0x56186b4e83a0) at kernel/qapplication.cpp:3640
#24 0x00007fd28069d4e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    (receiver=0x56186b642e60, event=0x56186b4e83a0) at kernel/qcoreapplication.cpp:1064
#25 0x00007fd2806a0854 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)
    (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=data@entry=0x56186ad82c60)
    at kernel/qcoreapplication.cpp:1821
#26 0x00007fd2806ebb45 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
    (this=0x56186ad86630, flags=...) at kernel/qeventdispatcher_unix.cpp:468
#27 0x000056186a583c51 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
#28 0x00007fd28069bf3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
    (this=this@entry=0x7fffdd904470, flags=..., flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#29 0x00007fd2806a4002 in QCoreApplication::exec() ()
    at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#30 0x00007fd280b5fad0 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1863
#31 0x00007fd27fdaecd9 in QApplication::exec() () at kernel/qapplication.cpp:2832
#32 0x000056186a4a4c61 in main(int, char**) (argc=<optimized out>, argv=<optimized out>)
    at /usr/src/debug/kwin-5.27.1-2.fc37.x86_64/src/main_wayland.cpp:628
Comment 2 Nate Graham 2023-02-28 20:38:30 UTC

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