Bug 379796

Summary: kscreenlocker/ksmserver-logout-greeter crashing repeatedly in Neon after recent update
Product: [Unmaintained] kscreenlocker Reporter: NiO <arcooke>
Component: greeterAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED UPSTREAM    
Severity: crash CC: arcooke, bshah, mgraesslin, valenstyn
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: ksmserver-logout-greeter crash log

Description NiO 2017-05-13 23:25:16 UTC
Created attachment 105519 [details]
ksmserver-logout-greeter crash log

Apologies if this is miscategorized.. the tracker describes this as "The screen locker framework consisting of the KScreenLocker library and the greeter process.".  I'm getting both and I assume these issues are related in some way.

---

Not sure which update caused this, but I updated to day (last time was about 1 week ago) and kscreenlocker and ksmserver-logout-greeter started crashing with 100% reproduciblity. 

Any screen lock causes this warning that the screen locker is broken: https://i.imgur.com/LVKKdml.jpg

Any time I try to reboot, ksmserver-logout-greeter crashes.  Crash log attached.


Neon 5.9.5
Frameworks 5.33.0
Kernel 4.4.0-77-generic

Let me know if any more useful info should be provided
Comment 1 Martin Flöser 2017-05-14 06:52:08 UTC
Your OpenGL driver is broken.
Comment 2 NiO 2017-05-14 20:14:14 UTC
Seems you were right, thanks. Updated Nvidia driver fixed it

I had just installed system updates and greeter/screen lock suddenly started crashing.  It is fixed now, feel free to close
Comment 3 Martin Flöser 2017-05-15 04:22:19 UTC
Driver bug.
Comment 4 NiO 2017-05-19 16:09:37 UTC
I wanted to chime back in about this.  I decided for no particular reason that I wanted to reformat my system and start a clean install of Neon.  I ran into this issue again after a fresh install.. so it may be worth looking into.

I installed Neon (neon-useredition-20170518-1018-amd64.iso), started it up for the first time with nomodeset in Grub (black screen on boot otherwise), and the first thing I did was new install Nvidia proprietary drivers 378.13 from the ppa (ppa:graphics-drivers/ppa).  After install, I went to reboot from the launcher and ksmserver-logout-greeter immediately crashed.  I had to reboot from the terminal.

It seems that installing a driver update changes something that greeter doesn't expect to change, so it spazzes out.  But then it's fine after rebooting (presumably when greeter reinitializes with the new changes).  

I think there is still some kind of exception handling that needs to be put into place to catch this.

System info: 
ASRock H270M-ITX/ac, i7-6700k, GTX 970
Neon installed with encrypted home directory.
Comment 5 Martin Flöser 2017-05-19 18:06:59 UTC
Resetting as it is a driver bug.
Comment 6 Stijn Geuens 2017-10-15 10:14:25 UTC
ksmserver-logout-greeter close unexpected.

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 0x7f56761a3940 (LWP 16494))]

Thread 4 (Thread 0x7f565715d700 (LWP 16497)):
#0  0x00007f5671869901 in __GI___poll (fds=0x7f5648004a60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f566a68b169 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f566a68b27c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f56721a949b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f567214ee3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f5671f6e3ca in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f56741c9f45 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007f5671f7329d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f56713457fc in start_thread (arg=0x7f565715d700) at pthread_create.c:465
#9  0x00007f5671875b0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f565795e700 (LWP 16496)):
#0  __lll_unlock_wake () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:371
#1  0x00007f56713499af in __pthread_mutex_unlock_usercnt (decr=1, mutex=0x7f566bda08a0) at pthread_mutex_unlock.c:55
#2  __GI___pthread_mutex_unlock (mutex=0x7f566bda08a0) at pthread_mutex_unlock.c:347
#3  0x00007f566bb1cb79 in ?? () from /usr/lib/nvidia-340/libGL.so.1
#4  0x00007f566bb2082b in ?? () from /usr/lib/nvidia-340/libGL.so.1
#5  0x00007f56676b2fd0 in ?? () from /usr/lib/nvidia-340/tls/libnvidia-tls.so.340.104
#6  0x00007f566a6cf280 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007f566a68ac4b in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007f566a68b110 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007f566a68b27c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007f56721a949b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007f567214ee3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007f5671f6e3ca in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007f5672d8ce45 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#14 0x00007f5671f7329d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007f56713457fc in start_thread (arg=0x7f565795e700) at pthread_create.c:465
#16 0x00007f5671875b0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f565d563700 (LWP 16495)):
#0  0x00007f5671869901 in __GI___poll (fds=0x7f565d562b78, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f566c660747 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f566c66253a in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f565fac9f09 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f5671f7329d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f56713457fc in start_thread (arg=0x7f565d563700) at pthread_create.c:465
#6  0x00007f5671875b0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f56761a3940 (LWP 16494)):
[KCrash Handler]
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#7  0x00007f5671799f5d in __GI_abort () at abort.c:90
#8  0x00007f5671f5e107 in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f5674896787 in QSGRenderLoop::handleContextCreationFailure(QQuickWindow*, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#10 0x00007f5674897755 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#11 0x00007f567489837a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#12 0x00007f567271bd35 in QWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#13 0x00007f567490bd05 in QQuickWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#14 0x0000560eb5760fd1 in ?? ()
#15 0x00007f567335946c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007f5673360d34 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007f5672150de8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f5672710e5f in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#19 0x00007f5672711a9d in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#20 0x00007f56726e9cab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#21 0x00007f565fb2c5a0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#22 0x00007f566a68afb7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007f566a68b1f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007f566a68b27c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007f56721a947f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007f567214ee3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007f5672157da4 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x0000560eb575e122 in ?? ()
#29 0x00007f56717821c1 in __libc_start_main (main=0x560eb575ddb0, argc=1, argv=0x7ffe83c28168, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe83c28158) at ../csu/libc-start.c:308
#30 0x0000560eb575e26a in _start ()