Bug 394593

Summary: kwin crashes on boot
Product: [Plasma] kwin Reporter: Alan Prescott <alanjprescott>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal Keywords: drkonqi
Priority: NOR    
Version First Reported In: 5.12.5   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Alan Prescott 2018-05-23 05:37:26 UTC
Application: kwin_x11 (5.12.5)

Qt Version: 5.10.0
Frameworks Version: 5.46.0
Operating System: Linux 4.4.126-48-default x86_64
Distribution: "openSUSE Leap 42.3"

-- Information about the crash:
- What I was doing when the application crashed: 
initial user logon following boot

Using nvidia drivers G04 ver 390.59-8.1. 
User home directory loaded from nfs

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f2589175940 (LWP 6261))]

Thread 3 (Thread 0x7f2557b9c700 (LWP 6275)):
#0  0x00007f2588b033cf in __GI_ppoll (fds=0x7f2550000ac8, nfds=1, timeout=<optimized out>, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:50
#1  0x00007f2585faaf61 in qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f2550000ac8) at kernel/qcore_unix.cpp:112
#2  0x00007f2585faaf61 in qt_safe_poll(pollfd*, unsigned long, timespec const*) (fds=0x7f2550000ac8, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:133
#3  0x00007f2585fac55f in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#4  0x00007f2585f5aa4b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f2557b9bc60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#5  0x00007f2585d9814a in QThread::exec() (this=this@entry=0xe241a0) at thread/qthread.cpp:522
#6  0x00007f258070f3d8 in QQmlThreadPrivate::run() (this=0xe241a0) at /usr/src/debug/qtdeclarative-everywhere-src-5.10.0/src/qml/qml/ftw/qqmlthread.cpp:147
#7  0x00007f2585d9ce0f in QThreadPrivate::start(void*) (arg=0xe241a0) at thread/qthread_unix.cpp:376
#8  0x00007f2581c58724 in start_thread (arg=0x7f2557b9c700) at pthread_create.c:457
#9  0x00007f2588b0be8d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f25669bd700 (LWP 6266)):
#0  0x00007f2588b033cf in __GI_ppoll (fds=0x7f256000b138, nfds=1, timeout=<optimized out>, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:50
#1  0x00007f2585faaf61 in qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f256000b138) at kernel/qcore_unix.cpp:112
#2  0x00007f2585faaf61 in qt_safe_poll(pollfd*, unsigned long, timespec const*) (fds=0x7f256000b138, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:133
#3  0x00007f2585fac55f in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#4  0x00007f2585f5aa4b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f25669bcc50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#5  0x00007f2585d9814a in QThread::exec() (this=this@entry=0x7f257f81fd40 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:522
#6  0x00007f257f5b57b5 in QDBusConnectionManager::run() (this=0x7f257f81fd40 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#7  0x00007f2585d9ce0f in QThreadPrivate::start(void*) (arg=0x7f257f81fd40 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:376
#8  0x00007f2581c58724 in start_thread (arg=0x7f25669bd700) at pthread_create.c:457
#9  0x00007f2588b0be8d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f2589175940 (LWP 6261)):
[KCrash Handler]
#6  0x00007f25886f9754 in  () at /usr/lib64/libkwin.so.5
#7  0x00007f2584676581 in KDecoration2::DecoratedClient::color(KDecoration2::ColorGroup, KDecoration2::ColorRole) const (this=this@entry=0xdea9b0, group=<optimized out>, role=role@entry=KDecoration2::ColorRole::Frame) at /usr/src/debug/kdecoration-5.12.90/src/decoratedclient.cpp:100
#8  0x00007f256521b73e in Breeze::Decoration::paint(QPainter*, QRect const&) (this=0xd7f1c0, painter=0x7ffea17cd7d8, repaintRegion=...) at /usr/src/debug/breeze-5.12.90/kdecoration/breezedecoration.cpp:445
#9  0x00007f2588704819 in KWin::Decoration::Renderer::renderToImage(QRect const&) () at /usr/lib64/libkwin.so.5
#10 0x00007f2565f9a442 in  () at /usr/lib64/qt5/plugins/org.kde.kwin.platforms/KWinX11Platform.so
#11 0x00007f2585f86c93 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffea17cda60, r=0xd93130, this=0xd82f20) at ../../src/corelib/kernel/qobjectdefs_impl.h:378
#12 0x00007f2585f86c93 in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0xe2cbe0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffea17cda60) at kernel/qobject.cpp:3749
#13 0x00007f2585f871e7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0xe2cbe0, m=m@entry=0x7f25863b7520 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffea17cda60) at kernel/qobject.cpp:3628
#14 0x00007f2585f93ce7 in QTimer::timeout(QTimer::QPrivateSignal) (this=this@entry=0xe2cbe0, _t1=_t1@entry=...) at .moc/moc_qtimer.cpp:200
#15 0x00007f2585f93fc2 in QTimer::timerEvent(QTimerEvent*) (this=0xe2cbe0, e=<optimized out>) at kernel/qtimer.cpp:255
#16 0x00007f2585f87d04 in QObject::event(QEvent*) (this=0xe2cbe0, e=<optimized out>) at kernel/qobject.cpp:1227
#17 0x00007f2586c7b7fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0xe2cbe0, e=0x7ffea17cde00) at kernel/qapplication.cpp:3733
#18 0x00007f2586c825e0 in QApplication::notify(QObject*, QEvent*) (this=0x7ffea17ce090, receiver=0xe2cbe0, e=0x7ffea17cde00) at kernel/qapplication.cpp:3492
#19 0x00007f2585f5c325 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0xe2cbe0, event=event@entry=0x7ffea17cde00) at kernel/qcoreapplication.cpp:1044
#20 0x00007f2585fae62e in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7ffea17cde00, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:234
#21 0x00007f2585fae62e in QTimerInfoList::activateTimers() (this=this@entry=0xc47030) at kernel/qtimerinfo_unix.cpp:643
#22 0x00007f2585fababc in QEventDispatcherUNIXPrivate::activateTimers() (this=this@entry=0xc46f90) at kernel/qeventdispatcher_unix.cpp:249
#23 0x00007f2585fac811 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=..., flags@entry=...) at kernel/qeventdispatcher_unix.cpp:514
#24 0x00007f256e09373d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at qunixeventdispatcher.cpp:68
#25 0x00007f2585f5aa4b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffea17cdfb0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#26 0x00007f2585f63104 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1332
#27 0x00007f2588dcd4a8 in kdemain () at /usr/lib64/libkdeinit5_kwin_x11.so
#28 0x00007f2588a3f725 in __libc_start_main (main=0x400670, argc=3, argv=0x7ffea17ce228, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffea17ce218) at libc-start.c:289
#29 0x00000000004006a9 in _start ()

Reported using DrKonqi
Comment 1 Alan Prescott 2018-05-23 07:38:05 UTC
I switched the nvidia drivers to nouveau and still got the crash.
The crash happens whether the user home is local or mounted using nfs.

Eventually managed to cure by upgrading kwin5 from 5.12.5-245.2-x86_64 to 5.12.90-247.2-x86_64 from Frameworks5 with vendor change for libinput.