Bug 1733444 - plasmashell segmentation fault when Plasma on X autologin froze on the splash screen in Fedora Rawhide KDE Plasma live image
Summary: plasmashell segmentation fault when Plasma on X autologin froze on the splash...
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: plasma-workspace
Version: 31
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: KDE SIG
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-07-26 06:06 UTC by Matt Fagnani
Modified: 2019-08-13 18:54 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
KDE Software Compilation 410211 None None None 2019-07-26 06:06:57 UTC

Description Matt Fagnani 2019-07-26 06:06:57 UTC
Description of problem:

I booted into the Fedora Rawhide/31 KDE Plasma spin image Fedora-KDE-Live-x86_64-Rawhide-20190724.n.0.iso at
https://koji.fedoraproject.org/koji/buildinfo?buildID=1319740

I ran sudo dnf install x*amd* kwin*way* pla*way* which installed
kwayland-integration-5.16.2-1.fc31.x86_64     
kwin-wayland-5.16.2-1.fc31.x86_64             
plasma-workspace-wayland-5.16.2-2.fc31.x86_64 
xorg-x11-drv-amdgpu-19.0.1-1.fc31.x86_64      
xorg-x11-server-Xwayland-1.20.5-5.fc31.x86_64 

I logged out of Plasma. I was going to log in to Plasma on Wayland from sddm as I usually do, but the Fedora live image is set to autologin to Plasma on X. I restarted sddm so that the X amdgpu driver would be used instead of the X modesetting driver since the system has a Radeon R5 GPU. I switched to VT2 and I ran sudo systemctl restart sddm. Plasma on X logged in automatically but Plasma froze on the splash screen. I ran sudo systemctl stop sddm in VT2. I ran startplasmacompositor & from VT2. Plasma on Wayland started, but drkonqi showed a segmentation fault in plasmashell in ScreenPool::ScreenPool at /usr/src/debug/plasma-workspace-5.16.2-2.fc31.x86_64/shell/screenpool.cpp:48. 

I think that the plasmashell crash was more likely to have happened when the autologin to Plasma on X got stuck on the splash screen and I stopped sddm than when I ran startplasmacompositor. The trace of the segmentation fault doesn't appear to have any Wayland-specific functions. The Wayland session appeared normally. I just didn't see drkonqi until the Wayland session started. plasmashell and drkonqi aborted after I stopped sddm and before I ran startplasmacompositor the next time I tried to reproduce the crash. The Plasma on X autologin splash screen freeze has happened several times after restarting sddm with two Fedora rawhide live images. The circle stopped spinning after a few seconds, and the desktop didn't appear.


-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f4a48b7dd00 (LWP 3462))]

Thread 2 (Thread 0x7f4a359f6700 (LWP 3721)):
#0  0x00007f4a466fd79f in poll () from /lib64/libc.so.6
#1  0x00007f4a453102ee in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007f4a45310423 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007f4a46c90bd3 in QEventDispatcherGlib::processEvents (this=0x7f4a300018e0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f4a46c3a9db in QEventLoop::exec (this=this@entry=0x7f4a359f5cf0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#5  0x00007f4a46a93625 in QThread::exec (this=this@entry=0x7f4a4752a060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#6  0x00007f4a474a6f4a in QDBusConnectionManager::run (this=0x7f4a4752a060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#7  0x00007f4a46a94776 in QThreadPrivate::start (arg=0x7f4a4752a060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361
#8  0x00007f4a45ef04e2 in start_thread () from /lib64/libpthread.so.0
#9  0x00007f4a46708333 in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f4a48b7dd00 (LWP 3462)):
[KCrash Handler]
#5  ScreenPool::ScreenPool (this=0x55f81a24adb0, config=..., parent=<optimized out>) at /usr/src/debug/plasma-workspace-5.16.2-2.fc31.x86_64/shell/screenpool.cpp:48
#6  0x000055f8198ba860 in ShellCorona::ShellCorona (this=0x55f81a21ff50, parent=<optimized out>) at /usr/include/qt5/QtCore/qarraydata.h:257
#7  0x000055f8198c7b9f in ShellManager::loadHandlers (this=0x7f4a3000b050) at /usr/src/debug/plasma-workspace-5.16.2-2.fc31.x86_64/shell/shellmanager.cpp:93
#8  0x000055f81988f5a5 in ShellManager::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at /usr/src/debug/plasma-workspace-5.16.2-2.fc31.x86_64/x86_64-redhat-linux-gnu/shell/plasmashell_autogen/EWIEGA46WW/moc_shellmanager.cpp:104
#9  0x00007f4a46c66bda in QObject::event (this=0x7f4a3000b050, e=<optimized out>) at kernel/qobject.cpp:1260
#10 0x00007f4a47736af6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#11 0x00007f4a4773fe80 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#12 0x00007f4a46c3bad8 in QCoreApplication::notifyInternal2 (receiver=0x7f4a3000b050, event=0x55f81a1dd8f0) at kernel/qcoreapplication.cpp:1084
#13 0x00007f4a46c3ea7b in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55f81a100b90) at kernel/qcoreapplication.cpp:1821
#14 0x00007f4a46c90e27 in postEventSourceDispatch (s=0x55f81a1d2fc0) at kernel/qeventdispatcher_glib.cpp:276
#15 0x00007f4a4530ffed in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#16 0x00007f4a45310380 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#17 0x00007f4a45310423 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#18 0x00007f4a46c90bb5 in QEventDispatcherGlib::processEvents (this=0x55f81a1b1360, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#19 0x00007f4a46c3a9db in QEventLoop::exec (this=this@entry=0x7ffe296ad0d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#20 0x00007f4a46c42706 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#21 0x000055f81988e7e4 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-5.16.2-2.fc31.x86_64/shell/main.cpp:215
[Inferior 1 (process 3462) detached]


Version-Release number of selected component (if applicable):
plasma-workspace-0:5.16.2-2.fc31.x86_64
kf5-kwayland-0:5.59.0-2.fc31.x86_64
qt5-qtbase-0:5.12.4-5.fc31.x86_64
sddm-0:0.18.1-2.fc31.x86_64

How reproducible:
The Plasma on X autologin splash screen freeze has happened several times after restarting sddm with two Fedora rawhide live images and an F30 installation. I saw the plasmashell segmentation fault once, and a plasmashell abort another time.

Steps to Reproduce:
1. boot into the Fedora Rawhide/31 KDE Plasma spin image Fedora-KDE-Live-x86_64-Rawhide-20190724.n.0.iso
2. sudo dnf install x*amd* kwin*way* pla*way*
3. log out of Plasma
4. switch to VT2 with ctrl-alt-f2 after Plasma splash screen freeze
5. sudo systemctl restart sddm
6. sudo systemctl stop sddm
7. startplasmacompositor &
8. coredumpctl

Actual results:
The Plasma on X autologin stopped on the splash screen many times after logging out. plasmashell had a segmentation fault and abort during two of them.

Expected results:
Plasma would log in normally with no plasmashell crashes.

Additional info:

I reported this issue at https://bugs.kde.org/show_bug.cgi?id=410211

Comment 1 Ben Cotton 2019-08-13 18:54:39 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to 31.


Note You need to log in before you can comment on or make changes to this bug.