Bug 478114

Summary: Crash after display power off
Product: [Plasma] plasmashell Reporter: MScattolin <matheus.scattolinanselmo>
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: nate
Priority: NOR Keywords: qt6
Version First Reported In: 5.90.0Flags: matheus.scattolinanselmo: Wayland+
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description MScattolin 2023-12-05 15:54:21 UTC
SUMMARY
This crash happened after manually powering off the connected display. It doesn't seem to happen every time

STEPS TO REPRODUCE
1. Manually power off the display through a hardware button
2. Plasma crashed on the background

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 6.6.4
KDE Plasma Version: 5.90.0
KDE Frameworks Version: 5.246.0
Qt Version: 6.6.1

BACKTRACE
#0  __GI___pthread_sigmask (how=1, newmask=<optimized out>, oldmask=0x0) at pthread_sigmask.c:43
#1  0x00007fdc6145c90d in __GI___sigprocmask (how=<optimized out>, set=<optimized out>, oset=<optimized out>) at ../sysdeps/unix/sysv/linux/sigprocmask.c:25
#2  0x00007fdc644024eb in KCrash::setCrashHandler(void (*)(int)) (handler=handler@entry=0x0) at /usr/src/debug/kcrash/kcrash-5.246.0/src/kcrash.cpp:407
#3  0x00007fdc64404958 in KCrash::defaultCrashHandler(int) (sig=11) at /usr/src/debug/kcrash/kcrash-5.246.0/src/kcrash.cpp:611
#4  0x00007fdc6145c710 in <signal handler called> () at /usr/lib/libc.so.6
#5  std::__atomic_base<int>::load(std::memory_order) const (__m=std::memory_order::relaxed, this=0x2e65646b2e677273, this=<optimized out>, __m=<optimized out>)
    at /usr/include/c++/13.2.1/bits/atomic_base.h:503
#6  QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) (_q_value=<error reading variable: Cannot access memory at address 0x2e65646b2e677273>, _q_value=<optimized out>)
    at /usr/include/qt6/QtCore/qatomic_cxx11.h:201
#7  QBasicAtomicInteger<int>::loadRelaxed() const (this=0x2e65646b2e677273, this=<optimized out>) at /usr/include/qt6/QtCore/qbasicatomic.h:38
#8  QWeakPointer<QObject>::internalData() const (this=0x5585a6706910) at /usr/include/qt6/QtCore/qsharedpointer_impl.h:704
#9  QPointer<Plasma::Containment>::data() const (this=0x5585a6706910) at /usr/include/qt6/QtCore/qpointer.h:71
#10 QPointer<Plasma::Containment>::operator Plasma::Containment*() const (this=0x5585a6706910) at /usr/include/qt6/QtCore/qpointer.h:79
#11 PlasmaQuick::ContainmentView::containment() const (this=0x5585a6357a20) at /usr/src/debug/libplasma/libplasma-5.90.0/src/plasmaquick/containmentview.cpp:239
#12 0x00005585a14911a7 in operator() (__closure=0x5585a6316550) at /usr/src/debug/plasma-workspace/plasma-workspace-5.90.0/shell/shellcorona.cpp:1502
#13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, ShellCorona::createWaitingPanels()::<lambda()> >::call (arg=<optimized out>, f=...)
    at /usr/include/qt6/QtCore/qobjectdefs_impl.h:137
#14 QtPrivate::Functor<ShellCorona::createWaitingPanels()::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...)
    at /usr/include/qt6/QtCore/qobjectdefs_impl.h:339
#15 QtPrivate::QCallableObject<ShellCorona::createWaitingPanels()::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *)
    (which=<optimized out>, this_=0x5585a6316540, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:522
#16 0x00007fdc61bb9ec9 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
    (a=0x7ffe72f85aa0, r=0x5585a2d7ebf0, this=0x5585a6316540, this=<optimized out>, r=<optimized out>, a=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/corelib/kernel/qobjectdefs_impl.h:433
#17 doActivate<false>(QObject*, int, void**) (sender=0x5585a6357a20, signal_index=15, argv=0x7ffe72f85aa0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/corelib/kernel/qobject.cpp:4021
#18 0x00007fdc62200476 in QWindow::visibleChanged(bool) (_t1=false, this=0x5585a6357a20) at /usr/src/debug/qt6-base/build/src/gui/Gui_autogen/include/moc_qwindow.cpp:1195
#19 QWindowPrivate::setVisible(bool) (this=0x5585a61bb910, visible=false) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/gui/kernel/qwindow.cpp:340
#20 0x00007fdc6220496a in QWindow::setVisible(bool) (visible=false, this=0x5585a6357a20) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/gui/kernel/qwindow.cpp:681
#21 QWindowPrivate::destroy() (this=0x5585a61bb910) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/gui/kernel/qwindow.cpp:2042
#22 0x00007fdc621fec52 in QWindow::~QWindow() (this=0x5585a6357a20, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/gui/kernel/qwindow.cpp:185
#23 0x00005585a1466f3d in PanelView::~PanelView() (this=0x5585a6357a20, this=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-5.90.0/shell/panelview.cpp:128
#24 0x00007fdc61ba5258 in qDeleteInEventHandler(QObject*) (o=0x5585a6357a20) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/corelib/kernel/qobject.cpp:4900
#25 QObject::event(QEvent*) (this=0x5585a6357a20, e=0x5585a653a390) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/corelib/kernel/qobject.cpp:1424
#26 0x00007fdc63b7319b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5585a6357a20, e=0x5585a653a390)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/widgets/kernel/qapplication.cpp:3296
#27 0x00007fdc61b62a78 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5585a6357a20, event=event@entry=0x5585a653a390)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/corelib/kernel/qcoreapplication.cpp:1121
#28 0x00007fdc61b62dfb in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x5585a653a390, receiver=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/corelib/kernel/qcoreapplication.cpp:1539
#29 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x5585a2928690)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/corelib/kernel/qcoreapplication.cpp:1901
#30 0x00007fdc61d9ead4 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=0x0, event_type=0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/corelib/kernel/qcoreapplication.cpp:1760
#31 postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x5585a29b8a00)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/corelib/kernel/qeventdispatcher_glib.cpp:243
#32 0x00007fdc60803f69 in g_main_dispatch (context=0x7fdc54000ef0) at ../glib/glib/gmain.c:3476
#33 0x00007fdc60862327 in g_main_context_dispatch_unlocked (context=0x7fdc54000ef0) at ../glib/glib/gmain.c:4284
#34 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7fdc54000ef0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4349
#35 0x00007fdc60802162 in g_main_context_iteration (context=0x7fdc54000ef0, may_block=1) at ../glib/glib/gmain.c:4414
#36 0x00007fdc61d9d074 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5585a292dad0, flags=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/corelib/kernel/qeventdispatcher_glib.cpp:393
#37 0x00007fdc61b6cf5e in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=..., this=0x7ffe72f86000)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/corelib/kernel/qeventloop.cpp:100
#38 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffe72f86000, flags=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/corelib/kernel/qeventloop.cpp:182
#39 0x00007fdc61b65518 in QCoreApplication::exec() () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/corelib/global/qflags.h:74
#40 0x00007fdc63b6fd1a in QApplication::exec() () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/widgets/kernel/qapplication.cpp:2574
#41 0x00005585a1445434 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-5.90.0/shell/main.cpp:230
Comment 1 Nate Graham 2023-12-05 16:52:27 UTC
Just fixed a few days ago; see Bug 476847.

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