After installing nvidia propietary drivers, several applications do not work until reboot. System settings crashes on startup if Sidebar View is enabled, kms-greeter crashes. Stack trace: Application: System Settings (systemsettings5), signal: Aborted Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7f259ae78900 (LWP 30303))] Thread 4 (Thread 0x7f25698d6700 (LWP 30308)): #0 0x00007f25905bda94 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007f25905792ae in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f259057949c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f25972ae5cb in QEventDispatcherGlib::processEvents (this=0x7f25640008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #4 0x00007f259725564a in QEventLoop::exec (this=this@entry=0x7f25698d5ca0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #5 0x00007f2597075554 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:522 #6 0x00007f2594bb3a35 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #7 0x00007f259707a6eb in QThreadPrivate::start (arg=0x26c3e70) at thread/qthread_unix.cpp:376 #8 0x00007f2592b5e6ba in start_thread (arg=0x7f25698d6700) at pthread_create.c:333 #9 0x00007f259698741d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3 (Thread 0x7f257203a700 (LWP 30307)): #0 0x00007f259697b74d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f259057938c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f259057949c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f25972ae5cb in QEventDispatcherGlib::processEvents (this=0x7f256c0008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #4 0x00007f259725564a in QEventLoop::exec (this=this@entry=0x7f2572039ca0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #5 0x00007f2597075554 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:522 #6 0x00007f2594bb3a35 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #7 0x00007f259707a6eb in QThreadPrivate::start (arg=0x22dca30) at thread/qthread_unix.cpp:376 #8 0x00007f2592b5e6ba in start_thread (arg=0x7f257203a700) at pthread_create.c:333 #9 0x00007f259698741d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 2 (Thread 0x7f25798b0700 (LWP 30305)): #0 0x00007f25905bda79 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007f2590578f16 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f25905793f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f259057949c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007f25972ae5cb in QEventDispatcherGlib::processEvents (this=0x7f25740008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #5 0x00007f259725564a in QEventLoop::exec (this=this@entry=0x7f25798afc90, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #6 0x00007f2597075554 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:522 #7 0x00007f2598b8e2c5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #8 0x00007f259707a6eb in QThreadPrivate::start (arg=0x7f2598e02d60) at thread/qthread_unix.cpp:376 #9 0x00007f2592b5e6ba in start_thread (arg=0x7f25798b0700) at pthread_create.c:333 #10 0x00007f259698741d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 1 (Thread 0x7f259ae78900 (LWP 30303)): [KCrash Handler] #6 0x00007f25968b5428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 #7 0x00007f25968b702a in __GI_abort () at abort.c:89 #8 0x00007f2597064311 in qt_message_fatal (context=..., message=<synthetic pointer>) at global/qlogging.cpp:1710 #9 QMessageLogger::fatal (this=this@entry=0x7fff64eb3760, msg=msg@entry=0x7f25957778ef "%s") at global/qlogging.cpp:816 #10 0x00007f2595773726 in QQuickWidgetPrivate::handleContextCreationFailure (this=this@entry=0x22db390, format=..., isEs=isEs@entry=false) at qquickwidget.cpp:843 #11 0x00007f2595773a8a in QQuickWidgetPrivate::createContext (this=this@entry=0x22db390) at qquickwidget.cpp:874 #12 0x00007f2595775e56 in QQuickWidget::resizeEvent (this=0x22db030, e=<optimized out>) at qquickwidget.cpp:1209 #13 0x00007f259826a9be in QWidget::event (this=this@entry=0x22db030, event=event@entry=0x7fff64eb3bd0) at kernel/qwidget.cpp:8981 #14 0x00007f25957767fb in QQuickWidget::event (this=0x22db030, e=0x7fff64eb3bd0) at qquickwidget.cpp:1468 #15 0x00007f259822aacc in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x22db030, e=0x7fff64eb3bd0) at kernel/qapplication.cpp:3732 #16 0x00007f2598232417 in QApplication::notify (this=0x7fff64eb47a0, receiver=0x22db030, e=0x7fff64eb3bd0) at kernel/qapplication.cpp:3491 #17 0x00007f25972573c8 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x22db030, event=event@entry=0x7fff64eb3bd0) at kernel/qcoreapplication.cpp:1044 #18 0x00007f25982629b2 in QCoreApplication::sendEvent (event=0x7fff64eb3bd0, receiver=0x22db030) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 #19 QWidgetPrivate::sendPendingMoveAndResizeEvents (this=this@entry=0x22db390, recursive=recursive@entry=false, disableUpdates=<optimized out>, disableUpdates@entry=false) at kernel/qwidget.cpp:7845 #20 0x00007f25982667a3 in QWidgetPrivate::show_helper (this=this@entry=0x22db390) at kernel/qwidget.cpp:7896 #21 0x00007f2598269aad in QWidget::setVisible (this=0x22db030, visible=<optimized out>) at kernel/qwidget.cpp:8251 #22 0x00007f2598266738 in QWidgetPrivate::showChildren (this=this@entry=0x22b8a80, spontaneous=spontaneous@entry=false) at kernel/qwidget.cpp:8334 #23 0x00007f25982667bf in QWidgetPrivate::show_helper (this=this@entry=0x22b8a80) at kernel/qwidget.cpp:7902 #24 0x00007f2598269aad in QWidget::setVisible (this=0x22b8a40, visible=<optimized out>) at kernel/qwidget.cpp:8251 #25 0x00007f259824d557 in QStackedLayout::setCurrentIndex (this=0x1f259c0, index=0) at kernel/qstackedlayout.cpp:321 #26 0x00007f259824dc2a in QStackedLayout::insertWidget (this=0x1f259c0, index=0, widget=0x22b8a40) at kernel/qstackedlayout.cpp:231 #27 0x00007f259824dc49 in QStackedLayout::addWidget (this=<optimized out>, widget=<optimized out>) at kernel/qstackedlayout.cpp:203 #28 0x00007f25983d8c00 in QStackedWidget::addWidget (this=<optimized out>, widget=<optimized out>) at widgets/qstackedwidget.cpp:161 #29 0x000000000040e321 in SettingsBase::changePlugin (this=this@entry=0x1f08320) at /workspace/build/app/SettingsBase.cpp:332 #30 0x000000000040fa45 in SettingsBase::initApplication (this=<optimized out>) at /workspace/build/app/SettingsBase.cpp:125 #31 0x00007f2597290de6 in QtPrivate::QSlotObjectBase::call (a=0x7fff64eb4150, r=<optimized out>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:378 #32 QSingleShotTimer::timerEvent (this=0x21f7000) at kernel/qtimer.cpp:318 #33 0x00007f2597285483 in QObject::event (this=0x21f7000, e=<optimized out>) at kernel/qobject.cpp:1268 #34 0x00007f259822aacc in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x21f7000, e=0x7fff64eb4410) at kernel/qapplication.cpp:3732 #35 0x00007f2598232417 in QApplication::notify (this=0x7fff64eb47a0, receiver=0x21f7000, e=0x7fff64eb4410) at kernel/qapplication.cpp:3491 #36 0x00007f25972573c8 in QCoreApplication::notifyInternal2 (receiver=0x21f7000, event=event@entry=0x7fff64eb4410) at kernel/qcoreapplication.cpp:1044 #37 0x00007f25972ad97e in QCoreApplication::sendEvent (event=0x7fff64eb4410, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 #38 QTimerInfoList::activateTimers (this=0x1c2f3c0) at kernel/qtimerinfo_unix.cpp:643 #39 0x00007f25972ae201 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182 #40 0x00007f2590579197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #41 0x00007f25905793f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #42 0x00007f259057949c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #43 0x00007f25972ae5af in QEventDispatcherGlib::processEvents (this=this@entry=0x1c18fe0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #44 0x00007f25891571a1 in QPAEventDispatcherGlib::processEvents (this=0x1c18fe0, flags=...) at qeventdispatcher_glib.cpp:69 #45 0x00007f259725564a in QEventLoop::exec (this=this@entry=0x7fff64eb4680, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #46 0x00007f259725e854 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1332 #47 0x00007f2597a7a83c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1687 #48 0x00007f259822aa25 in QApplication::exec () at kernel/qapplication.cpp:2917 #49 0x000000000040b6fe in main (argc=1, argv=<optimized out>) at /workspace/build/app/main.cpp:67
>#10 0x00007f2595773726 in QQuickWidgetPrivate::handleContextCreationFailure (this=this@entry=0x22db390, format=..., isEs=isEs@entry=false) at qquickwidget.cpp:843 Your drivers are broke.
I guess that's expected. After installing a new version of the driver it crashes. This issue should be solved by implementing a fallback, so systemsettings can start with broken drivers.
The fallback already is implemented in Qt since Qt 5.4, see http://blog.qt.io/blog/2015/01/22/introducing-the-qt-quick-2d-renderer/ The problem here is that the NVIDIA driver announces that it supports OpenGL, but then fails to provide a hardware context because of the version mismatch between the driver and its kernel module. Only a reboot can resolve it, or a fix from NVIDIA checking the version mismatch before reporting presence of the OpenGL support.
@cfeck see D7934 and D11722 on phab