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.

Reply via email to