Bug 490421 - PowerDevil crash in Core::onKIdleTimeoutReached()
Summary: PowerDevil crash in Core::onKIdleTimeoutReached()
Status: RESOLVED FIXED
Alias: None
Product: Powerdevil
Classification: Plasma
Component: general (show other bugs)
Version: 6.1.2
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
: 491133 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-07-17 21:43 UTC by tokeefejr
Modified: 2024-08-03 07:07 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.1.4
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tokeefejr 2024-07-17 21:43:37 UTC
Application: org_kde_powerdevil (6.1.2)

Qt Version: 6.7.2
Frameworks Version: 6.3.0
Operating System: Linux 6.9.9-200.fc40.x86_64 x86_64
Windowing System: Wayland
Distribution: "Fedora Linux 40 (KDE Plasma)"
DrKonqi: 6.1.2 [CoredumpBackend]

-- Information about the crash:
While the computer was idle it crashed. Got the error message upon loging back in.

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: KDE Power Management System (org_kde_powerdevil), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
[New LWP 1790]
[New LWP 1815]
[New LWP 1838]
[New LWP 1816]
[New LWP 1830]
[New LWP 1811]
[New LWP 1840]
[New LWP 1839]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/libexec/org_kde_powerdevil'.
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 0x7f52d9914b00 (LWP 1790))]

Cannot QML trace cores :(
[Current thread is 1 (Thread 0x7f52d9914b00 (LWP 1790))]

Thread 8 (Thread 0x7f52c16006c0 (LWP 1839)):
#0  0x00007f52e287367d in __GI___poll (fds=0x55ce92dedf90, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f52dfeccc34 in g_main_context_poll_unlocked (priority=2147483647, context=0x55ce92dedd10, timeout=<optimized out>, fds=0x55ce92dedf90, n_fds=1) at ../glib/gmain.c:4521
#2  g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x55ce92dedd10, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4212
#3  0x00007f52dfe6c383 in g_main_context_iteration (context=0x55ce92dedd10, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#4  0x00007f52dfe6c3e1 in glib_worker_main (data=<optimized out>) at ../glib/gmain.c:6442
#5  0x00007f52dfe9b813 in g_thread_proxy (data=0x55ce92dedf30) at ../glib/gthread.c:835
#6  0x00007f52e27fd507 in start_thread (arg=<optimized out>) at pthread_create.c:447
#7  0x00007f52e288140c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 7 (Thread 0x7f52c0c006c0 (LWP 1840)):
#0  0x00007f52e287367d in __GI___poll (fds=0x7f5298000b90, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f52dfeccc34 in g_main_context_poll_unlocked (priority=2147483647, context=0x55ce92dfb890, timeout=<optimized out>, fds=0x7f5298000b90, n_fds=2) at ../glib/gmain.c:4521
#2  g_main_context_iterate_unlocked.isra.0 (context=0x55ce92dfb890, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4212
#3  0x00007f52dfe70f37 in g_main_loop_run (loop=0x55ce92dfb6e0) at ../glib/gmain.c:4419
#4  0x00007f52d9e34682 in gdbus_shared_thread_func (user_data=0x55ce92dfb860) at ../gio/gdbusprivate.c:284
#5  0x00007f52dfe9b813 in g_thread_proxy (data=0x55ce92dbd320) at ../glib/gthread.c:835
#6  0x00007f52e27fd507 in start_thread (arg=<optimized out>) at pthread_create.c:447
#7  0x00007f52e288140c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 6 (Thread 0x7f52cba006c0 (LWP 1811)):
#0  0x00007f52e287367d in __GI___poll (fds=0x7f52c40152d0, nfds=4, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f52dfeccc34 in g_main_context_poll_unlocked (priority=2147483647, context=0x7f52c4000c80, timeout=<optimized out>, fds=0x7f52c40152d0, n_fds=4) at ../glib/gmain.c:4521
#2  g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7f52c4000c80, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4212
#3  0x00007f52dfe6c383 in g_main_context_iteration (context=0x7f52c4000c80, may_block=1) at ../glib/gmain.c:4282
#4  0x00007f52e1a850a3 in QEventDispatcherGlib::processEvents (this=0x7f52c4000b70, flags=...) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#5  0x00007f52e17a3b03 in QEventLoop::exec (this=this@entry=0x7f52cb9ffa20, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/global/qflags.h:34
#6  0x00007f52e18b7e4f in QThread::exec (this=this@entry=0x7f52e2a22cc0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/global/qflags.h:74
#7  0x00007f52e2993e41 in QDBusConnectionManager::run (this=0x7f52e2a22cc0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/dbus/qdbusconnectionmanager.cpp:144
#8  0x00007f52e195463c in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/thread/qthread_unix.cpp:326
#9  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/thread/qthread_unix.cpp:262
#10 QThreadPrivate::start (arg=0x7f52e2a22cc0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/thread/qthread_unix.cpp:285
#11 0x00007f52e27fd507 in start_thread (arg=<optimized out>) at pthread_create.c:447
#12 0x00007f52e288140c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 5 (Thread 0x7f52c9c006c0 (LWP 1830)):
#0  0x00007f52e27f9be9 in __futex_abstimed_wait_common64 (private=0, futex_word=0x55ce92d7b808, expected=0, op=393, abstime=0x0, cancel=true) at futex-internal.c:57
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55ce92d7b808, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007f52e27f9c6f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55ce92d7b808, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f52e27fc639 in __pthread_cond_wait_common (cond=0x55ce92d7b7e0, mutex=<optimized out>, clockid=0, abstime=0x0) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x55ce92d7b7e0, mutex=<optimized out>) at pthread_cond_wait.c:618
#5  0x00007f52c18a7cfd in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135
#6  0x00007f52c1884acb in util_queue_thread_func (input=input@entry=0x55ce92d72be0) at ../src/util/u_queue.c:290
#7  0x00007f52c18a7c2c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67
#8  0x00007f52e27fd507 in start_thread (arg=<optimized out>) at pthread_create.c:447
#9  0x00007f52e288140c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 4 (Thread 0x7f52ca6006c0 (LWP 1816)):
#0  0x00007f52e287367d in __GI___poll (fds=fds@entry=0x7f52ca5ffa60, nfds=nfds@entry=2, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f52ded1adf5 in poll (__fds=0x7f52ca5ffa60, __nfds=2, __timeout=-1) at /usr/include/bits/poll2.h:39
#2  QtWaylandClient::EventThread::run (this=0x55ce92ce7380) at /usr/src/debug/qt6-qtwayland-6.7.2-2.fc40.x86_64/src/client/qwaylanddisplay.cpp:182
#3  0x00007f52e195463c in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/thread/qthread_unix.cpp:326
#4  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/thread/qthread_unix.cpp:262
#5  QThreadPrivate::start (arg=0x55ce92ce7380) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/thread/qthread_unix.cpp:285
#6  0x00007f52e27fd507 in start_thread (arg=<optimized out>) at pthread_create.c:447
#7  0x00007f52e288140c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 3 (Thread 0x7f52c92006c0 (LWP 1838)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f52dfec9ccd in g_cond_wait (cond=0x55ce92e28c68, mutex=0x55ce92e28c60) at ../glib/gthread-posix.c:1552
#2  0x00007f52dfe3561b in g_async_queue_pop_intern_unlocked (queue=0x55ce92e28c60, wait=1, end_time=-1) at ../glib/gasyncqueue.c:375
#3  0x00007f52dfe9ca03 in g_thread_pool_spawn_thread (data=<optimized out>) at ../glib/gthreadpool.c:297
#4  0x00007f52dfe9b813 in g_thread_proxy (data=0x55ce92e021c0) at ../glib/gthread.c:835
#5  0x00007f52e27fd507 in start_thread (arg=<optimized out>) at pthread_create.c:447
#6  0x00007f52e288140c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 2 (Thread 0x7f52cb0006c0 (LWP 1815)):
#0  0x00007f52e27f9be9 in __futex_abstimed_wait_common64 (private=0, futex_word=0x55ce92cfaa34, expected=0, op=393, abstime=0x0, cancel=true) at futex-internal.c:57
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55ce92cfaa34, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007f52e27f9c6f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55ce92cfaa34, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f52e27fc639 in __pthread_cond_wait_common (cond=0x55ce92cfaa08, mutex=<optimized out>, clockid=0, abstime=0x0) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x55ce92cfaa08, mutex=<optimized out>) at pthread_cond_wait.c:618
#5  0x00007f52e1960efb in QWaitConditionPrivate::wait (this=0x55ce92cfa9e0, deadline=...) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/thread/qwaitcondition_unix.cpp:102
#6  QWaitCondition::wait (this=this@entry=0x55ce92cad300, mutex=mutex@entry=0x55ce92cad2f8, deadline=...) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/thread/qwaitcondition_unix.cpp:180
#7  0x00007f52ded1ad8e in QtWaylandClient::EventThread::waitForReading (this=0x55ce92cad2c0) at /usr/src/debug/qt6-qtwayland-6.7.2-2.fc40.x86_64/src/client/qwaylanddisplay.cpp:216
#8  QtWaylandClient::EventThread::run (this=0x55ce92cad2c0) at /usr/src/debug/qt6-qtwayland-6.7.2-2.fc40.x86_64/src/client/qwaylanddisplay.cpp:177
#9  0x00007f52e195463c in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/thread/qthread_unix.cpp:326
#10 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/thread/qthread_unix.cpp:262
#11 QThreadPrivate::start (arg=0x55ce92cad2c0) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/thread/qthread_unix.cpp:285
#12 0x00007f52e27fd507 in start_thread (arg=<optimized out>) at pthread_create.c:447
#13 0x00007f52e288140c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 1 (Thread 0x7f52d9914b00 (LWP 1790)):
[KCrash Handler]
#5  0x0000000000000030 in ?? ()
#6  0x00007f52e2ce10b9 in PowerDevil::Core::onKIdleTimeoutReached (this=0x55ce92e278e0, identifier=<optimized out>, msec=<optimized out>) at /usr/src/debug/powerdevil-6.1.2-1.fc40.x86_64/daemon/powerdevilcore.cpp:779
#7  0x00007f52e17fc872 in QtPrivate::QSlotObjectBase::call (this=0x55ce92ee95f0, r=<optimized out>, a=0x7ffc29ec4ef0) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469
#8  doActivate<false> (sender=0x55ce92ec4400, signal_index=4, argv=0x7ffc29ec4ef0) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086
#9  0x00007f52e17f2b47 in QMetaObject::activate (sender=sender@entry=0x55ce92ec4400, m=m@entry=0x7f52e147e800 <KIdleTime::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc29ec4ef0) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#10 0x00007f52e1475598 in KIdleTime::timeoutReached (this=this@entry=0x55ce92ec4400, _t1=<optimized out>, _t2=<optimized out>, _t2@entry=300000) at /usr/src/debug/kf6-kidletime-6.3.0-1.fc40.x86_64/redhat-linux-build/src/KF6IdleTime_autogen/include/moc_kidletime.cpp:199
#11 0x00007f52e1477902 in KIdleTimePrivate::timeoutReached (this=<optimized out>, msec=300000) at /usr/src/debug/kf6-kidletime-6.3.0-1.fc40.x86_64/src/kidletime.cpp:298
#12 operator() (__closure=<optimized out>, msec=300000) at /usr/src/debug/kf6-kidletime-6.3.0-1.fc40.x86_64/src/kidletime.cpp:88
#13 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<int>, void, KIdleTime::KIdleTime()::<lambda(int)> >::call (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:137
#14 QtPrivate::FunctorCallable<KIdleTime::KIdleTime()::<lambda(int)>, int>::call<QtPrivate::List<int>, void> (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:345
#15 QtPrivate::QCallableObject<KIdleTime::KIdleTime()::<lambda(int)>, QtPrivate::List<int>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:555
#16 0x00007f52e17fc872 in QtPrivate::QSlotObjectBase::call (this=0x55ce92ef0450, r=<optimized out>, a=0x7ffc29ec5090) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469
#17 doActivate<false> (sender=0x55ce92ef0530, signal_index=4, argv=0x7ffc29ec5090) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086
#18 0x00007f52e17f2b47 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f52e147e840 <KAbstractIdleTimePoller::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc29ec5090) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#19 0x00007f52e14754e3 in KAbstractIdleTimePoller::timeoutReached (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/kf6-kidletime-6.3.0-1.fc40.x86_64/redhat-linux-build/src/KF6IdleTime_autogen/include/moc_kabstractidletimepoller_p.cpp:212
#20 0x00007f52e17fc872 in QtPrivate::QSlotObjectBase::call (this=0x55ce92ea9640, r=<optimized out>, a=0x7ffc29ec5148) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469
#21 doActivate<false> (sender=0x55ce92ea9590, signal_index=3, argv=0x7ffc29ec5148) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086
#22 0x00007f52da78c056 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#23 0x00007f52da7886a0 in ffi_call_int (cif=cif@entry=0x7ffc29ec5360, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
#24 0x00007f52da78b4ee in ffi_call (cif=cif@entry=0x7ffc29ec5360, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffc29ec5430) at ../src/x86/ffi64.c:710
#25 0x00007f52df2b4f2e in wl_closure_invoke (closure=closure@entry=0x7f52b800e300, target=<optimized out>, target@entry=0x55ce92ef9240, opcode=opcode@entry=0, data=<optimized out>, flags=1) at ../src/connection.c:1025
#26 0x00007f52df2b57a3 in dispatch_event (display=display@entry=0x55ce92ce8920, queue=0x55ce92ce8a10) at ../src/wayland-client.c:1631
#27 0x00007f52df2b5a4c in dispatch_queue (queue=0x55ce92ce8a10, display=0x55ce92ce8920) at ../src/wayland-client.c:1777
#28 wl_display_dispatch_queue_pending (display=0x55ce92ce8920, queue=0x55ce92ce8a10) at ../src/wayland-client.c:2019
#29 0x00007f52ded1ac52 in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at /usr/src/debug/qt6-qtwayland-6.7.2-2.fc40.x86_64/src/client/qwaylanddisplay.cpp:227
#30 0x00007f52e17edd4b in QObject::event (this=0x55ce92ce86f0, e=0x7f52bc0017f0) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qobject.cpp:1452
#31 0x00007f52e1796dc8 in QCoreApplication::notifyInternal2 (receiver=0x55ce92ce86f0, event=0x7f52bc0017f0) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1142
#32 0x00007f52e179702d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1583
#33 0x00007f52e179ab91 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55ce92ce2e60) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1940
#34 0x00007f52e179ae3d in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1797
#35 0x00007f52e1a858ef in postEventSourceDispatch (s=0x55ce92cd9a60) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:244
#36 0x00007f52dfe6ae8c in g_main_dispatch (context=0x7f52c4000f00) at ../glib/gmain.c:3344
#37 g_main_context_dispatch_unlocked (context=0x7f52c4000f00) at ../glib/gmain.c:4152
#38 0x00007f52dfeccc98 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7f52c4000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#39 0x00007f52dfe6c383 in g_main_context_iteration (context=0x7f52c4000f00, may_block=1) at ../glib/gmain.c:4282
#40 0x00007f52e1a850a3 in QEventDispatcherGlib::processEvents (this=0x55ce92ce4f10, flags=...) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#41 0x00007f52e17a3b03 in QEventLoop::exec (this=this@entry=0x7ffc29ec5a40, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/global/qflags.h:34
#42 0x00007f52e179f9bc in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/corelib/global/qflags.h:74
#43 0x00007f52e1fd67ed in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.2-3.fc40.x86_64/src/gui/kernel/qguiapplication.cpp:1926
#44 0x000055ce695d3e6c in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/powerdevil-6.1.2-1.fc40.x86_64/daemon/powerdevilapp.cpp:135

Reported using DrKonqi
Comment 1 Jakob Petsovits 2024-07-18 11:33:11 UTC
A relevant merge request has been created @ https://invent.kde.org/plasma/powerdevil/-/merge_requests/406
Comment 2 Jakob Petsovits 2024-07-18 17:13:53 UTC
Git commit 7a929fa01ed036f60c5a15c72416b4e40eb03160 by Jakob Petsovits.
Committed on 18/07/2024 at 12:25.
Pushed by jpetso into branch 'master'.

daemon: Don't leave dangling Action pointers in idle-time containers

If we delete the Action but don't clean up related map/set elements,
the powerdevil daemon can crash e.g. in Core::onResumingFromIdle()
and Core::onKIdleTimeoutReached().

This has been an issue since commit 584cfdf0 (or d91bc62f on 6.1)
which made it possible for already-created actions to get deleted
again at a later time.
Related: bug 490356

M  +10   -4    daemon/powerdevilcore.cpp

https://invent.kde.org/plasma/powerdevil/-/commit/7a929fa01ed036f60c5a15c72416b4e40eb03160
Comment 3 Jakob Petsovits 2024-07-18 17:17:50 UTC
Git commit 8c1686c9e97edb9a06e06e2f41cfe5351cef7986 by Jakob Petsovits.
Committed on 18/07/2024 at 17:14.
Pushed by jpetso into branch 'Plasma/6.1'.

daemon: Don't leave dangling Action pointers in idle-time containers

If we delete the Action but don't clean up related map/set elements,
the powerdevil daemon can crash e.g. in Core::onResumingFromIdle()
and Core::onKIdleTimeoutReached().

This has been an issue since commit 584cfdf0 (or d91bc62f on 6.1)
which made it possible for already-created actions to get deleted
again at a later time.
Related: bug 490356


(cherry picked from commit 7a929fa01ed036f60c5a15c72416b4e40eb03160)

Co-authored-by: Jakob Petsovits <jpetso@petsovits.com>

M  +10   -4    daemon/powerdevilcore.cpp

https://invent.kde.org/plasma/powerdevil/-/commit/8c1686c9e97edb9a06e06e2f41cfe5351cef7986
Comment 4 Jakob Petsovits 2024-07-22 08:41:25 UTC
Sorry about the version tag, the fix didn't make it into Plasma 6.1.3 but instead will be in 6.1.4 initially.
Comment 5 Nate Graham 2024-08-01 18:32:20 UTC
*** Bug 491133 has been marked as a duplicate of this bug. ***