https://bugs.kde.org/show_bug.cgi?id=521227
Matt Fagnani <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #3 from Matt Fagnani <[email protected]> --- I updated to Plasma 6.7.0 in a Fedora 44 KDE installation. I logged into Plasma 6.7.0 on Wayland. I logged out of Plasma. In the next Plasma session, a crash notification in kwin_wayland was shown. The crash had a trace like that in this report and appeared to happen as Plasma was logging out. KWin::Workspace::activeWindow in frame 4 had this=0x0 which might've caused a null pointer dereference. Core was generated by `/usr/bin/kwin_wayland --wayland-fd 7 --socket wayland-0 --xwayland-fd 8 --xwayland-fd 9 --xwayland-display :0 --xwayland-xauthority /run/user/1000/xauth_JPxUSR --xwayland'. Program terminated with signal SIGSEGV, Segmentation fault. #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44 44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0; [Current thread is 1 (Thread 0x7f8fca576440 (LWP 1976))] (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007f8fc7a7be93 in __pthread_kill_internal (threadid=<optimized out>, signo=11) at pthread_kill.c:89 #2 0x00007f8fc7a20f8e in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26 #3 0x00007f8fcbb3c1ca in KCrash::defaultCrashHandler(int) () at /lib64/libKF6Crash.so.6 #4 0x00007f8fc7a210b0 in <signal handler called> () at /lib64/libc.so.6 #5 KWin::Workspace::activeWindow (this=0x0, this=<optimized out>) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/workspace.h:793 #6 KWin::RenderLoop::activeWindowControlsVrrRefreshRate (this=<optimized out>) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/core/renderloop.cpp:279 #7 0x00007f8fcb086fb4 in operator() (__closure=0x563b224b89d0) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/compositor.cpp:600 #8 operator() (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:117 #9 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>, QtPrivate::List<>, void, KWin::Compositor::setupLayers(KWin::SceneView*, KWin::LogicalOutput*, KWin::BackendOutput*, const QList<KWin::OutputLayer*>&, const std::unordered_map<KWin::OutputLayer*, KWin::Item*>&, const std::shared_ptr<KWin::OutputFrame>&, SetupType, std::unordered_set<KWin::OutputLayer*>&)::<lambda()> >::call(KWin::Compositor::setupLayers(KWin::SceneView*, KWin::LogicalOutput*, KWin::BackendOutput*, const QList<KWin::OutputLayer*>&, const std::unordered_map<KWin::OutputLayer*, KWin::Item*>&, const std::shared_ptr<KWin::OutputFrame>&, SetupType, std::unordered_set<KWin::OutputLayer*>&)::<lambda()>&, void**)::<lambda()> > (args=<optimized out>, fn=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:66 #10 QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>, QtPrivate::List<>, void, KWin::Compositor::setupLayers(KWin::SceneView*, KWin::LogicalOutput*, KWin::BackendOutput*, const QList<KWin::OutputLayer*>&, const std::unordered_map<KWin::OutputLayer*, KWin::Item*>&, const std::shared_ptr<KWin::OutputFrame>&, SetupType, std::unordered_set<KWin::OutputLayer*>&)::<lambda()> >::call (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:116 #11 QtPrivate::FunctorCallable<KWin::Compositor::setupLayers(KWin::SceneView*, KWin::LogicalOutput*, KWin::BackendOutput*, const QList<KWin::OutputLayer*>&, const std::unordered_map<KWin::OutputLayer*, KWin::Item*>&, const std::shared_ptr<KWi--Type <RET> for more, q to quit, c to continue without paging--c n::OutputFrame>&, SetupType, std::unordered_set<KWin::OutputLayer*>&)::<lambda()> >::call<QtPrivate::List<>, void> (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:338 #12 QtPrivate::QCallableObject<KWin::Compositor::setupLayers(KWin::SceneView*, KWin::LogicalOutput*, KWin::BackendOutput*, const QList<KWin::OutputLayer*>&, const std::unordered_map<KWin::OutputLayer*, KWin::Item*>&, const std::shared_ptr<KWin::OutputFrame>&, SetupType, std::unordered_set<KWin::OutputLayer*>&)::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x563b224b89c0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:548 #13 0x00007f8fc8184eb7 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=0x563b22123ef0, a=<optimized out>) at /usr/src/debug/qt6-qtbase-6.11.1-1.fc44.x86_64/src/corelib/kernel/qobjectdefs_impl.h:462 #14 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-qtbase-6.11.1-1.fc44.x86_64/src/corelib/kernel/qobject.cpp:4372 #15 0x00007f8fcb25877a in KWin::Item::scheduleRepaintInternal (this=0x563b20bc8c90, region=...) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/scene/item.cpp:457 #16 0x00007f8fcb2587cf in KWin::Item::scheduleRepaint (this=<optimized out>, region=<optimized out>) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/scene/item.cpp:433 #17 0x00007f8fcb258815 in KWin::Item::scheduleRepaint (this=<optimized out>, region=<optimized out>) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/scene/item.cpp:615 #18 0x00007f8fcb26be14 in KWin::ItemTreeView::setExclusive (this=0x563b22123ef0, enable=<optimized out>) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/scene/scene.cpp:579 #19 0x00007f8fcb26be75 in KWin::ItemTreeView::~ItemTreeView (this=0x563b22123ef0, this=<optimized out>) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/scene/scene.cpp:492 #20 0x00007f8fcb07e8e9 in KWin::ItemTreeView::~ItemTreeView (this=0x563b22123ef0, this=<optimized out>) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/scene/scene.cpp:493 #21 std::default_delete<KWin::ItemView>::operator() (this=<optimized out>, __ptr=0x563b22123ef0) at /usr/include/c++/16/bits/unique_ptr.h:92 #22 std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> >::~unique_ptr (this=0x563b22432c60, this=<optimized out>) at /usr/include/c++/16/bits/unique_ptr.h:408 #23 std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > >::~pair (this=0x563b22432c58, this=<optimized out>) at /usr/include/c++/16/bits/stl_pair.h:305 #24 std::destroy_at<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > > (__location=0x563b22432c58) at /usr/include/c++/16/bits/stl_construct.h:88 #25 std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > >, false> > >::destroy<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > > (__a=<optimized out>, __p=0x563b22432c58) at /usr/include/c++/16/bits/alloc_traits.h:738 #26 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > >, false> > >::_M_deallocate_node (this=<optimized out>, __n=0x563b22432c50) at /usr/include/c++/16/bits/hashtable_policy.h:1591 #27 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > >, false> > >::_M_deallocate_nodes (this=0x563b2208f0a0, __n=0x0) at /usr/include/c++/16/bits/hashtable_policy.h:1613 #28 std::_Hashtable<KWin::OutputLayer*, std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > >, std::allocator<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > >, std::__detail::_Select1st, std::equal_to<KWin::OutputLayer*>, std::hash<KWin::OutputLayer*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::~_Hashtable (this=0x563b2208f0a0, this=<optimized out>) at /usr/include/c++/16/bits/hashtable.h:1902 #29 std::unordered_map<KWin::OutputLayer*, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> >, std::hash<KWin::OutputLayer*>, std::equal_to<KWin::OutputLayer*>, std::allocator<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > > >::~unordered_map (this=0x563b2208f0a0, this=<optimized out>) at /usr/include/c++/16/bits/unordered_map.h:112 #30 std::pair<KWin::RenderLoop* const, std::unordered_map<KWin::OutputLayer*, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> >, std::hash<KWin::OutputLayer*>, std::equal_to<KWin::OutputLayer*>, std::allocator<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > > > >::~pair (this=0x563b2208f098, this=<optimized out>) at /usr/include/c++/16/bits/stl_pair.h:305 #31 std::destroy_at<std::pair<KWin::RenderLoop* const, std::unordered_map<KWin::OutputLayer*, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> >, std::hash<KWin::OutputLayer*>, std::equal_to<KWin::OutputLayer*>, std::allocator<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > > > > > (__location=0x563b2208f098) at /usr/include/c++/16/bits/stl_construct.h:88 #32 std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<KWin::RenderLoop* const, std::unordered_map<KWin::OutputLayer*, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> >, std::hash<KWin::OutputLayer*>, std::equal_to<KWin::OutputLayer*>, std::allocator<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > > > >, false> > >::destroy<std::pair<KWin::RenderLoop* const, std::unordered_map<KWin::OutputLayer*, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> >, std::hash<KWin::OutputLayer*>, std::equal_to<KWin::OutputLayer*>, std::allocator<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > > > > > (__a=<optimized out>, __p=0x563b2208f098) at /usr/include/c++/16/bits/alloc_traits.h:738 #33 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<KWin::RenderLoop* const, std::unordered_map<KWin::OutputLayer*, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> >, std::hash<KWin::OutputLayer*>, std::equal_to<KWin::OutputLayer*>, std::allocator<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > > > >, false> > >::_M_deallocate_node (this=0x563b20a0cba8, __n=0x563b2208f090) at /usr/include/c++/16/bits/hashtable_policy.h:1591 #34 std::_Hashtable<KWin::RenderLoop*, std::pair<KWin::RenderLoop* const, std::unordered_map<KWin::OutputLayer*, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> >, std::hash<KWin::OutputLayer*>, std::equal_to<KWin::OutputLayer*>, std::allocator<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > > > >, std::allocator<std::pair<KWin::RenderLoop* const, std::unordered_map<KWin::OutputLayer*, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> >, std::hash<KWin::OutputLayer*>, std::equal_to<KWin::OutputLayer*>, std::allocator<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > > > > >, std::__detail::_Select1st, std::equal_to<KWin::RenderLoop*>, std::hash<KWin::RenderLoop*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_erase (this=0x563b20a0cba8, __bkt=<optimized out>, __prev_n=<optimized out>, __n=0x563b2208f090) at /usr/include/c++/16/bits/hashtable.h:2614 #35 std::_Hashtable<KWin::RenderLoop*, std::pair<KWin::RenderLoop* const, std::unordered_map<KWin::OutputLayer*, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> >, std::hash<KWin::OutputLayer*>, std::equal_to<KWin::OutputLayer*>, std::allocator<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > > > >, std::allocator<std::pair<KWin::RenderLoop* const, std::unordered_map<KWin::OutputLayer*, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> >, std::hash<KWin::OutputLayer*>, std::equal_to<KWin::OutputLayer*>, std::allocator<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > > > > >, std::__detail::_Select1st, std::equal_to<KWin::RenderLoop*>, std::hash<KWin::RenderLoop*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::erase(KWin::RenderLoop* const&) [clone .isra.0] (this=this@entry=0x563b20a0cba8, __k=@0x7ffe0643c8e0: 0x563b20cdc4a0) at /usr/include/c++/16/bits/hashtable.h:2644 #36 0x00007f8fcb076218 in std::unordered_map<KWin::RenderLoop*, std::unordered_map<KWin::OutputLayer*, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> >, std::hash<KWin::OutputLayer*>, std::equal_to<KWin::OutputLayer*>, std::allocator<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > > >, std::hash<KWin::RenderLoop*>, std::equal_to<KWin::RenderLoop*>, std::allocator<std::pair<KWin::RenderLoop* const, std::unordered_map<KWin::OutputLayer*, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> >, std::hash<KWin::OutputLayer*>, std::equal_to<KWin::OutputLayer*>, std::allocator<std::pair<KWin::OutputLayer* const, std::unique_ptr<KWin::ItemView, std::default_delete<KWin::ItemView> > > > > > > >::erase (this=0x563b20a0cba8, __x=@0x7ffe0643c8e0: 0x563b20cdc4a0) at /usr/include/c++/16/bits/unordered_map.h:910 #37 KWin::Compositor::removeOutput (this=0x563b20a0cb50, output=0x563b20ce0010) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/compositor.cpp:938 #38 KWin::Compositor::removeOutput (this=0x563b20a0cb50, output=0x563b20ce0010) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/compositor.cpp:932 #39 0x00007f8fcb070b57 in KWin::Compositor::stop (this=0x563b20a0cb50) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/compositor.cpp:322 #40 KWin::Compositor::stop (this=0x563b20a0cb50) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/compositor.cpp:294 #41 0x00007f8fcb070e7e in KWin::Compositor::~Compositor (this=0x563b20a0cb50, this=<optimized out>) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/compositor.cpp:95 #42 0x00007f8fcb1cc0c5 in KWin::Compositor::~Compositor (this=0x563b20a0cb50, this=<optimized out>) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/compositor.cpp:92 #43 KWin::Application::destroyCompositor (this=this@entry=0x7ffe0643cf10) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/main.cpp:294 #44 0x0000563b15d3e5dd in KWin::ApplicationWayland::~ApplicationWayland (this=0x7ffe0643cf10, this=<optimized out>) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/main_wayland.cpp:130 #45 0x0000563b15d36762 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin-6.7.0-1.fc44.x86_64/src/main_wayland.cpp:661 The crash happened 2/3 times when I logged out. The problem didn't happen with Plasma 6.6.5. In System Settings - Display Configuration, I don't see a variable refresh rate option. There's just a Refresh rate dropdown box with 60.09 Hz selected by default or 40.06 Hz. I don't think my screen supports variable refresh rate. -- You are receiving this mail because: You are watching all bug changes.
