Bug 370667

Summary: powerdevil crashes on battery low
Product: [Plasma] Powerdevil Reporter: Nikola Dodik <dodiknikolaspammail>
Component: generalAssignee: Plasma Development Mailing List <plasma-devel>
Status: RESOLVED FIXED    
Severity: crash CC: dv.ferracin, kde
Priority: NOR Keywords: drkonqi
Version: 5.8.0   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Nikola Dodik 2016-10-13 17:14:15 UTC
Application: org_kde_powerdevil ()

Qt Version: 5.7.0
Frameworks Version: 5.26.0
Operating System: Linux 4.4.0-38-generic x86_64
Distribution: KDE neon User Edition 5.8

-- Information about the crash:
- What I was doing when the application crashed:

I noticed that my PC would shut down after being unplugged without going to suspend when it was critical, or without even notifying me of the battery getting low or critical. So I rebooted, charged the battery up to 21%, waited until it drained to 20% (which is what my "low" level is), and I got a small icon in the corner telling me powerdevil had crashed.

- Custom settings of the application:

The low level has been set to 20% and the critical to 15%. Now I only recently changed this, so it might very well be that this is somehow related to the crash.

-- Backtrace:
Application: org_kde_powerdevil (org_kde_powerdevil), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fb3edc3f900 (LWP 1487))]

Thread 5 (Thread 0x7fb3d8b86700 (LWP 1544)):
#0  0x00007fb3ec2a5e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fb3e6f6d39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb3e6f6d722 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb3d9878916 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007fb3e6f93bc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fb3e80e76fa in start_thread (arg=0x7fb3d8b86700) at pthread_create.c:333
#6  0x00007fb3ec2b1b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fb3d9387700 (LWP 1543)):
#0  0x00007fb3ec2a5e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fb3e6f6d39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb3e6f6d4ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb3e6f6d4e9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb3e6f93bc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fb3e80e76fa in start_thread (arg=0x7fb3d9387700) at pthread_create.c:333
#6  0x00007fb3ec2b1b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fb3dadd2700 (LWP 1522)):
#0  0x00007fb3ec2a5e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fb3e6f6d39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb3e6f6d4ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb3ecbd030b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fb3ecb7ad9a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fb3ec9a0044 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fb3edd537a5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007fb3ec9a4c28 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fb3e80e76fa in start_thread (arg=0x7fb3dadd2700) at pthread_create.c:333
#9  0x00007fb3ec2b1b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fb3dbe06700 (LWP 1509)):
#0  0x00007fb3ec2a5e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fb3ea0e5c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fb3ea0e78d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fb3de368a39 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007fb3ec9a4c28 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fb3e80e76fa in start_thread (arg=0x7fb3dbe06700) at pthread_create.c:333
#6  0x00007fb3ec2b1b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fb3edc3f900 (LWP 1487)):
[KCrash Handler]
#6  0x00007fb3ec1e0418 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#7  0x00007fb3ec1e201a in __GI_abort () at abort.c:89
#8  0x00007fb3ec98b811 in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fb3e92eb061 in QWidgetPrivate::init(QWidget*, QFlags<Qt::WindowType>) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007fb3e93cef69 in QFrame::QFrame(QWidget*, QFlags<Qt::WindowType>) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007fb3eadf9b8d in KPassivePopup::KPassivePopup(QWidget*, QFlags<Qt::WindowType>) () from /usr/lib/x86_64-linux-gnu/libKF5Notifications.so.5
#12 0x00007fb3eae0fd32 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5Notifications.so.5
#13 0x00007fb3eadf8639 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5Notifications.so.5
#14 0x00007fb3eadf5960 in KNotification::sendEvent() () from /usr/lib/x86_64-linux-gnu/libKF5Notifications.so.5
#15 0x00007fb3ecba8ad9 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007fb3ecb7cc4a in QCoreApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007fb3ecb7cda8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007fb3ecb7f46b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007fb3ecbcfee3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007fb3e6f6d1a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007fb3e6f6d400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007fb3e6f6d4ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007fb3ecbd02ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007fb3ecb7ad9a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007fb3ecb833ac in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x0000000000404e4d in ?? ()
#27 0x00007fb3ec1cb830 in __libc_start_main (main=0x404dc0, argc=1, argv=0x7ffdf3b73598, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffdf3b73588) at ../csu/libc-start.c:291
#28 0x0000000000404eb9 in _start ()

Possible duplicates by query: bug 364721, bug 364342, bug 362635, bug 362228, bug 355096.

Reported using DrKonqi
Comment 1 Kai Uwe Broulik 2016-10-14 06:02:53 UTC
Could it be that at this point plasmashell wasn't running (or aren't you using t notification plasmoid)? Seems like KNotification used the fallback popup window which requires widgets but the new separate PowerDevil binary is only a QGuiApplication.
Comment 2 Nikola Dodik 2016-10-14 06:33:35 UTC
I think I am using the plasmoid? I honestly don't know. I'm using whatever there is in the bottom right corner of my screen. How can I find this out for you?
Comment 3 Kai Uwe Broulik 2016-10-14 07:31:18 UTC
Git commit 11341f1a024edd907b90f34c267e107e930aebf8 by Kai Uwe Broulik.
Committed on 14/10/2016 at 07:30.
Pushed by broulik into branch 'master'.

[KNotifications] Don't use KPassivePopup without QApplication

When using KNotification from a QGuiApplication and there is no notification service present,
the application will assert.

CHANGELOG: KNotification will no longer crash when using it in a QGuiApplication and no notification service is running
REVIEW: 129177

M  +6    -0    src/notifybypopup.cpp

http://commits.kde.org/knotifications/11341f1a024edd907b90f34c267e107e930aebf8
Comment 4 Nikola Dodik 2016-10-14 08:00:41 UTC
Thanks for looking into it. Is there some way to pull this patch, or should I wait for the next release?
Comment 5 Kai Uwe Broulik 2016-10-14 08:22:34 UTC
You can compile knotifications framework yourself or wait for the next KDE Frameworks release in a month.
Comment 6 Christoph Feck 2016-11-18 02:14:01 UTC
*** Bug 372603 has been marked as a duplicate of this bug. ***