Bug 420181 - Power management crash at startup on Wayland
Summary: Power management crash at startup on Wayland
Status: RESOLVED UPSTREAM
Alias: None
Product: KScreen
Classification: Plasma
Component: libkscreen (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: kscreen-bugs-null@kde.org
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2020-04-17 08:19 UTC by Pietro F. Fontana
Modified: 2021-01-13 22:22 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pietro F. Fontana 2020-04-17 08:19:36 UTC
Application: org_kde_powerdevil (2.0.0)

Qt Version: 5.14.2
Frameworks Version: 5.68.0
Operating System: Linux 5.6.3-2-MANJARO x86_64
Windowing system: Wayland
Distribution: Manjaro Linux

-- Information about the crash:
- What I was doing when the application crashed:
I have a laptop connected to an external screen, the laptop's screen is turned off, when I login  DrKonqi reports that the Power Management applet crashed.

Operating System: Manjaro Linux 
KDE Plasma Version: 5.18.4
KDE Frameworks Version: 5.68.0
Qt Version: 5.14.2
Kernel Version: 5.6.3-2-MANJARO
OS Type: 64-bit
Device-1: Intel HD Graphics 620 
driver: i915 
Display: wayland 
server: X.org 1.20.8 
driver: modesetting

The crash can be reproduced every time.

-- Backtrace:
Application: KDE Power Management System (org_kde_powerdevil), signal: Aborted
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f7bf9832840 (LWP 2903))]

Thread 5 (Thread 0x7f7bf2ffd700 (LWP 3025)):
#0  0x00007f7bfdeb94fc in read () at /usr/lib/libc.so.6
#1  0x00007f7bfc9a38c0 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f7bfc9f3001 in g_main_context_check () at /usr/lib/libglib-2.0.so.0
#3  0x00007f7bfc9f4748 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f7bfc9f4871 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#5  0x00007f7bfe4778ac in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007f7bfe41e05c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#7  0x00007f7bfe242c62 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#8  0x00007f7bfe243dd6 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f7bfd52546f in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f7bfdec83d3 in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7f7bf37fe700 (LWP 2920)):
#0  0x00007f7bfdeb94fc in read () at /usr/lib/libc.so.6
#1  0x00007f7bfc9a38c0 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f7bfc9f3001 in g_main_context_check () at /usr/lib/libglib-2.0.so.0
#3  0x00007f7bfc9f4748 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f7bfc9f5843 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#5  0x00007f7bf88f2df8 in  () at /usr/lib/libgio-2.0.so.0
#6  0x00007f7bfc9cbe71 in  () at /usr/lib/libglib-2.0.so.0
#7  0x00007f7bfd52546f in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f7bfdec83d3 in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f7bf3fff700 (LWP 2919)):
#0  0x00007f7bfdeb94fc in read () at /usr/lib/libc.so.6
#1  0x00007f7bfc9a38c0 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f7bfc9f3001 in g_main_context_check () at /usr/lib/libglib-2.0.so.0
#3  0x00007f7bfc9f4748 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f7bfc9f4871 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#5  0x00007f7bfc9f48c2 in  () at /usr/lib/libglib-2.0.so.0
#6  0x00007f7bfc9cbe71 in  () at /usr/lib/libglib-2.0.so.0
#7  0x00007f7bfd52546f in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f7bfdec83d3 in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f7bf930a700 (LWP 2916)):
#0  0x00007f7bfdebdabf in poll () at /usr/lib/libc.so.6
#1  0x00007f7bfc9f47a0 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f7bfc9f4871 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f7bfe4778ac in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f7bfe41e05c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f7bfe242c62 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f7bfe6c8b28 in  () at /usr/lib/libQt5DBus.so.5
#7  0x00007f7bfe243dd6 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f7bfd52546f in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f7bfdec83d3 in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f7bf9832840 (LWP 2903)):
[KCrash Handler]
#6  0x00007f7bfde04ce5 in raise () at /usr/lib/libc.so.6
#7  0x00007f7bfddee857 in abort () at /usr/lib/libc.so.6
#8  0x00007f7bfe208938 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f7bf9427ae3 in  () at /usr/lib/libQt5WaylandClient.so.5
#10 0x00007f7bf9427b41 in QtWaylandClient::QWaylandDisplay::flushRequests() () at /usr/lib/libQt5WaylandClient.so.5
#11 0x00007f7bfe454d10 in  () at /usr/lib/libQt5Core.so.5
#12 0x00007f7bfe4778ce in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#13 0x00007f7bfe41e05c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#14 0x00007f7bf855efb4 in  () at /usr/lib/qt/plugins/kf5/kscreen/KSC_KWayland.so
#15 0x00007f7bf855db3b in  () at /usr/lib/qt/plugins/kf5/kscreen/KSC_KWayland.so
#16 0x00007f7bf855956f in qt_plugin_instance () at /usr/lib/qt/plugins/kf5/kscreen/KSC_KWayland.so
#17 0x00007f7bfe4156c0 in  () at /usr/lib/libQt5Core.so.5
#18 0x00007f7bfda95aa4 in KScreen::BackendManager::loadBackendPlugin(QPluginLoader*, QString const&, QMap<QString, QVariant> const&) () at /usr/lib/libKF5Screen.so.7
#19 0x00007f7bfda96152 in KScreen::BackendManager::loadBackendInProcess(QString const&) () at /usr/lib/libKF5Screen.so.7
#20 0x00007f7bfdaa1efb in  () at /usr/lib/libKF5Screen.so.7
#21 0x00007f7bfdaa2ca2 in KScreen::GetConfigOperation::start() () at /usr/lib/libKF5Screen.so.7
#22 0x00007f7bfe44cada in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#23 0x00007f7bfe41f4f2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#24 0x00007f7bfe421d56 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#25 0x00007f7bfe478244 in  () at /usr/lib/libQt5Core.so.5
#26 0x00007f7bfc9f29be in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#27 0x00007f7bfc9f4831 in  () at /usr/lib/libglib-2.0.so.0
#28 0x00007f7bfc9f4871 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#29 0x00007f7bfe477890 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#30 0x00007f7bfe41e05c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#31 0x00007f7bfe426066 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#32 0x0000560a3a2ad18d in  ()
#33 0x00007f7bfddf0023 in __libc_start_main () at /usr/lib/libc.so.6
#34 0x0000560a3a2ad1fe in _start ()
[Inferior 1 (process 2903) detached]

The reporter indicates this bug may be a duplicate of or related to bug 419128.

Possible duplicates by query: bug 420134, bug 419756, bug 419749, bug 419418, bug 419128.

Reported using DrKonqi
Comment 1 magiblot 2020-04-22 00:23:54 UTC
I would say the stack trace is the same as in bug 418730. It looks like a "The Wayland connection broke. Did the Wayland compositor die?" issue.

There are other issues mentioning this: bug 378708 and bug 392376. But unfortunately it looks like it's not getting a lot of attention.
Comment 2 Nate Graham 2021-01-13 18:44:49 UTC
#6  QMessageLogger::fatal (this=this@entry=0x7fffd70c5ba0, msg=msg@entry=0x7ff994ac00b8 "The Wayland connection broke. Did the Wayland compositor die?") at global/qlogging.cpp:893

This means that the compositor crashed. Due to a Qt issue, when this happens, the app using it will crash too. KDE developers submitted a fix, but sadly it was not merged. See https://codereview.qt-project.org/c/qt/qtwayland/+/308984.

Until we get better handling of this in Qt, the best we can do is debug why the compositor crashed in the first place. So can you please get a backtrace of the crash in kwin_wayland and then file a new bug report with it on kwin | wayland-generic? Thanks!

You may be able to use the `coredumpctl` utility to retrieve the backtrace. See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl
Comment 3 Pietro F. Fontana 2021-01-13 22:22:32 UTC
@nate: unfortunately, I don't use this system anymore and I cannot currently help in reproducing the issue.