Bug 374665 - Logging out is nearly never possible
Summary: Logging out is nearly never possible
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: 5.8.5
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-01-06 23:26 UTC by Szymon Łągiewka
Modified: 2017-06-04 19:46 UTC (History)
9 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 Szymon Łągiewka 2017-01-06 23:26:15 UTC
When I try to log out of Wayland session, it usually does not end with success. After I try select logout from shrank leaving dialog (mentioned briefly in https://bugs.kde.org/show_bug.cgi?id=374659), I am not presented with SDDM but with black screen. At this point only the only things I could do is:
- force shutdown - hold power button
- change tty with ctrl+alt+fx to be greeted with SDDM - no console access

Correct log out happens much less often than the issue mentioned above. I still have not found a plausible reason for this to be happening both ways...
Comment 1 Kyle Kauffman 2017-01-08 21:12:19 UTC
This also occurs for me, except I'm unable to get back to SDDM and am forced to reboot. All of the <C-A-Fx> shortcuts appear to do nothing on the blank screen.
Comment 2 Martin Flöser 2017-01-09 19:59:16 UTC
From my (past) investigation on the issue this seems to be a problem of sddm. The sddm-greeter is crashing and that's the reason why vt switching no longer works. From my investigation it looked like KWin is no longer running.

Need to find the older bug report for it.
Comment 3 Roman Gilg 2017-01-12 23:35:13 UTC
I can help you with this, since it was my one: https://bugs.kde.org/show_bug.cgi?id=370913

Btw I still have problems with this aswell. On my PC logout always works, on my laptop only very few times.
Comment 4 Kurt Seebauer 2017-02-06 14:58:29 UTC
when trying to log out the wayland session I get a crash from ksmserver-logout-greeter (opensuse tumbleweed latest):

Application: ksmserver-logout-greeter (ksmserver-logout-greeter), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f3d246e3e00 (LWP 22171))]

Thread 7 (Thread 0x7f3cfe816700 (LWP 22177)):
#0  0x00007f3d1aa9910f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f3d07651a9b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f3d076518f7 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f3d1aa93454 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f3d2008937f in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7f3cff017700 (LWP 22176)):
#0  0x00007f3d1aa9910f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f3d07651a9b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f3d076518f7 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f3d1aa93454 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f3d2008937f in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f3cff818700 (LWP 22175)):
#0  0x00007f3d1aa9910f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f3d07651a9b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f3d076518f7 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f3d1aa93454 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f3d2008937f in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f3d00019700 (LWP 22174)):
#0  0x00007f3d1aa9910f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f3d07651a9b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f3d076518f7 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f3d1aa93454 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f3d2008937f in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f3d00a4d700 (LWP 22173)):
#0  0x00007f3d1aa9910f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f3d07651a9b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f3d076518f7 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f3d1aa93454 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f3d2008937f in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f3d0de9c700 (LWP 22172)):
#0  0x00007f3d2008066d in poll () from /lib64/libc.so.6
#1  0x00007f3d18d45886 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f3d18d4599c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f3d209a018b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#4  0x00007f3d20949aea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#5  0x00007f3d20777813 in QThread::exec() () from /usr/lib64/libQt5Core.so.5
#6  0x00007f3d214f3385 in ?? () from /usr/lib64/libQt5DBus.so.5
#7  0x00007f3d2077c4c8 in ?? () from /usr/lib64/libQt5Core.so.5
#8  0x00007f3d1aa93454 in start_thread () from /lib64/libpthread.so.0
#9  0x00007f3d2008937f in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f3d246e3e00 (LWP 22171)):
[KCrash Handler]
#6  0x00007f3d1b51df49 in wl_map_insert_at () from /usr/lib64/libwayland-client.so.0
#7  0x00007f3d1b51a16e in wl_proxy_destroy () from /usr/lib64/libwayland-client.so.0
#8  0x00007f3d23a4b415 in KWayland::Client::Registry::release() () from /usr/lib64/libKF5WaylandClient.so.5
#9  0x00007f3d23a4b43c in KWayland::Client::Registry::~Registry() () from /usr/lib64/libKF5WaylandClient.so.5
#10 0x00007f3d23a4b4d9 in KWayland::Client::Registry::~Registry() () from /usr/lib64/libKF5WaylandClient.so.5
#11 0x00007f3d20975f31 in QObjectPrivate::deleteChildren() () from /usr/lib64/libQt5Core.so.5
#12 0x00007f3d2097f2bf in QObject::~QObject() () from /usr/lib64/libQt5Core.so.5
#13 0x00007f3cf74ea7e3 in ?? () from /usr/lib64/qt5/plugins/kf5/org.kde.kwindowsystem.platforms/KF5WindowSystemKWaylandPlugin.so
#14 0x00007f3d1ffd6ea0 in __run_exit_handlers () from /lib64/libc.so.6
#15 0x00007f3d1ffd6efa in exit () from /lib64/libc.so.6
#16 0x00007f3d1ffc0298 in __libc_start_main () from /lib64/libc.so.6
#17 0x00000000004062ba in _start ()
Comment 5 Christoph Feck 2017-02-08 02:27:24 UTC
Comment #4 is bug 372597.
Comment 6 Aron Heinecke 2017-02-15 11:53:37 UTC
(In reply to Kurt Seebauer from comment #4)

Same Here, ksmserver-logout-greeter crashes & screen locking is also presented with the console-fallback "text on blackscreen"
16.04.2 with backports. Happens since the backports, I'll try to undo the backport installation..

Application: ksmserver-logout-greeter (ksmserver-logout-greeter), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fc2ae314900 (LWP 22790))]

Thread 3 (Thread 0x7fc2aa172700 (LWP 22792)):
#0  0x00007fc2b6ffaa94 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fc2b6fb5db9 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc2b6fb6330 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fc2b6fb649c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fc2bcf0537b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fc2bceadffa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fc2bccd69e4 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fc2bfdc2515 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#8  0x00007fc2bccdb808 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fc2b74d76ba in start_thread (arg=0x7fc2aa172700) at pthread_create.c:333
#10 0x00007fc2bc5e982d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fc2ab86e700 (LWP 22791)):
#0  0x00007fc2bc5ddb5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fc2b7f42c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fc2b7f448d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fc2addcfd29 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007fc2bccdb808 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fc2b74d76ba in start_thread (arg=0x7fc2ab86e700) at pthread_create.c:333
#6  0x00007fc2bc5e982d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fc2ae314900 (LWP 22790)):
[KCrash Handler]
#6  0x00007fc2bc518428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#7  0x00007fc2bc51a02a in __GI_abort () at abort.c:89
#8  0x00007fc2bccc2f41 in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fc2bfe5ccd9 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
#10 0x00007fc2bfe5a92b in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
#11 0x00007fc2addd6781 in QXcbIntegration::createPlatformOpenGLContext(QOpenGLContext*) const () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#12 0x00007fc2bd23d4ad in QOpenGLContext::create() () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#13 0x00007fc2bfe5d505 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
#14 0x00007fc2bfe5d6e1 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
#15 0x00007fc2be9410fb in QSGRenderLoop::instance() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#16 0x00007fc2be974015 in QQuickWindowPrivate::init(QQuickWindow*, QQuickRenderControl*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#17 0x00007fc2bea20cad in QQuickView::QQuickView(QWindow*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#18 0x00000000004071e0 in ?? ()
#19 0x00000000004060e2 in ?? ()
#20 0x00000000004063d1 in ?? ()
#21 0x00000000004059ed in ?? ()
#22 0x00007fc2bc503830 in __libc_start_main (main=0x405650, argc=6, argv=0x7ffc5caf1578, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc5caf1568) at ../csu/libc-start.c:291
#23 0x0000000000405b49 in _start ()
Comment 7 Aron Heinecke 2017-02-15 12:19:15 UTC
(In reply to Aron Heinecke from comment #6 on bug 374665)

So, after doing another reboot everything seems to work again.
I don't know what exactly caused this.
- upgraded to backports
- reboot
- tried if the driver manager would be working now
- installed new nvidia driver (I'm using my intel HD GPU during this whole time)
- ( no reboot!? )

And now are the crashes incoming:
- Launcher for one application vanished, regardless of setting "show launcher" on/off
- Logout/Reboot/Shutdown Screen-Crash as reported in #374665
- System Settings crashing as reported in #376513
- Lock-Screen broken

After another reboot everything is back to normal.
Comment 8 tromzy 2017-03-02 13:03:08 UTC
I can confirm that ksmserver-logout-greeter crashes everytime I try to log out on Arch Linux, Plasma 5.9.3, on Wayland.
Comment 9 Kurt Seebauer 2017-03-04 14:07:35 UTC
still there in opensuse tumbleweed
kde frameworks 5.31.0
wayland

backtrace with debug symbols:
Application: ksmserver-logout-greeter (ksmserver-logout-greeter), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f2c539b2e00 (LWP 11991))]

Thread 7 (Thread 0x7f2c2db85700 (LWP 11997)):
#0  0x00007f2c49d6510f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2c3721cf1b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f2c3721cd77 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f2c49d5f454 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f2c4f35937f in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7f2c2e386700 (LWP 11996)):
#0  0x00007f2c49d6510f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2c3721cf1b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f2c3721cd77 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f2c49d5f454 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f2c4f35937f in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f2c2eb87700 (LWP 11995)):
#0  0x00007f2c49d6510f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2c3721cf1b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f2c3721cd77 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f2c49d5f454 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f2c4f35937f in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f2c2f388700 (LWP 11994)):
#0  0x00007f2c49d6510f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2c3721cf1b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f2c3721cd77 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f2c49d5f454 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f2c4f35937f in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f2c2fdc3700 (LWP 11993)):
#0  0x00007f2c49d6510f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2c3721cf1b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f2c3721cd77 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f2c49d5f454 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f2c4f35937f in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f2c3d167700 (LWP 11992)):
#0  0x00007f2c4f35066d in poll () from /lib64/libc.so.6
#1  0x00007f2c48011896 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f2c480119ac in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f2c4fc7018b in QEventDispatcherGlib::processEvents (this=0x7f2c380008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f2c4fc19aea in QEventLoop::exec (this=this@entry=0x7f2c3d166c50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#5  0x00007f2c4fa47813 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:507
#6  0x00007f2c507c3385 in ?? () from /usr/lib64/libQt5DBus.so.5
#7  0x00007f2c4fa4c4c8 in QThreadPrivate::start (arg=0x7f2c50a34d20) at thread/qthread_unix.cpp:368
#8  0x00007f2c49d5f454 in start_thread () from /lib64/libpthread.so.0
#9  0x00007f2c4f35937f in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f2c539b2e00 (LWP 11991)):
[KCrash Handler]
#6  0x00007f2c4a7ea029 in wl_map_insert_at (map=<optimized out>, flags=flags@entry=0, i=<optimized out>, data=<optimized out>) at src/wayland-util.c:249
#7  0x00007f2c4a7e61fe in proxy_destroy (proxy=0x107c740) at src/wayland-client.c:411
#8  wl_proxy_destroy (proxy=0x107c740) at src/wayland-client.c:442
#9  0x00007f2c52d1b415 in wl_registry_destroy (wl_registry=<optimized out>) at /usr/include/wayland/wayland-client-protocol.h:1065
#10 KWayland::Client::WaylandPointer<wl_registry, wl_registry_destroy>::release (this=0x106cc80, this=0x106cc80) at /usr/src/debug/kwayland-5.31.0/src/client/wayland_pointer_p.h:53
#11 KWayland::Client::Registry::release (this=this@entry=0x106cbe0) at /usr/src/debug/kwayland-5.31.0/src/client/registry.cpp:358
#12 0x00007f2c52d1b43c in KWayland::Client::Registry::~Registry (this=0x106cbe0, __in_chrg=<optimized out>) at /usr/src/debug/kwayland-5.31.0/src/client/registry.cpp:353
#13 0x00007f2c52d1b4d9 in KWayland::Client::Registry::~Registry (this=0x106cbe0, __in_chrg=<optimized out>) at /usr/src/debug/kwayland-5.31.0/src/client/registry.cpp:354
#14 0x00007f2c4fc45f31 in QObjectPrivate::deleteChildren (this=this@entry=0x1070390) at kernel/qobject.cpp:1970
#15 0x00007f2c4fc4f2bf in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1041
#16 0x00007f2c2672f7e3 in WaylandIntegration::~WaylandIntegration (this=<optimized out>, __in_chrg=<optimized out>) at /usr/src/debug/kwayland-integration-5.9.3/src/windowsystem/waylandintegration.cpp:51
#17 WaylandIntegrationSingleton::~WaylandIntegrationSingleton (this=<optimized out>, __in_chrg=<optimized out>) at /usr/src/debug/kwayland-integration-5.9.3/src/windowsystem/waylandintegration.cpp:37
#18 (anonymous namespace)::Q_QGS_privateWaylandIntegrationSelf::Holder::~Holder (this=<optimized out>, __in_chrg=<optimized out>) at /usr/src/debug/kwayland-integration-5.9.3/src/windowsystem/waylandintegration.cpp:43
#19 0x00007f2c4f2a6ea0 in __run_exit_handlers () from /lib64/libc.so.6
#20 0x00007f2c4f2a6efa in exit () from /lib64/libc.so.6
#21 0x00007f2c4f290298 in __libc_start_main () from /lib64/libc.so.6
#22 0x00000000004062ba in _start () at ../sysdeps/x86_64/start.S:120
Comment 10 Martin Flöser 2017-03-04 16:41:45 UTC
Thanks for the backtrace. Should be easy to fix with that one. As 
explanation: a wayland version update started to trigger these crashes 
in several places. We just haven't found all yet.
Comment 11 Patrick Silva 2017-03-05 00:39:49 UTC
I have this same problem on my Arch.
When I try logout from Wayland session I get a crash notification.
Comment 12 David Edmundson 2017-05-06 08:08:38 UTC
Git commit 34fc30c4f7ca6d461ebfa0b7691e05edf2b0e40e by David Edmundson.
Committed on 05/05/2017 at 22:28.
Pushed by davidedmundson into branch 'master'.

Cleanup wayland resources used in kwindowsystem before they're deleted by QPA

Summary:
When the Qt QPA closes it deletes the wl_display
deleting wl_display deletes the wl_registry
when we destroy the kwayland wrapper we double delete
as the windowsystem integration is a singleton we're not deleted till
after qApp.

By manually releasing the wayland parts early we avoid that problem,
whilst still being safe if any app did make a KWindowSystem call during
shutdown.

Test Plan:
Locked screen, no longer crashed when typing in password
Opened system settings, created a blurred tooltip then closed. No longer crashed

Making a unit test that runs during qApp shutdown will be incredibly difficult.

Reviewers: #plasma

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D5723

M  +30   -0    src/windowsystem/waylandintegration.cpp

https://commits.kde.org/kwayland-integration/34fc30c4f7ca6d461ebfa0b7691e05edf2b0e40e
Comment 13 Christoph Feck 2017-05-06 12:39:40 UTC
David, reading comment #2, my impression was that the issue here is sddm crashing, so unrelated to the backtrace added at comment #4, which I already identified as bug 372597.

Could you please clarify which of the two bugs the commit resolves, and maybe reopen this one?
Comment 14 Martin Flöser 2017-05-07 07:41:27 UTC
(In reply to Christoph Feck from comment #13)
> Could you please clarify which of the two bugs the commit resolves, and
> maybe reopen this one?

As we do not track bugs in sddm on bugs.kde.org it can only be about the issue in our software.
Comment 15 Szymon Łągiewka 2017-06-04 19:46:47 UTC
I can confirm that logout greeter does not crash on me when trying to logout from Wayland session in 5.10.