Bug 424023 - Portions of plasma randomly reports a crash at startup
Summary: Portions of plasma randomly reports a crash at startup
Status: RESOLVED UPSTREAM
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (show other bugs)
Version: 5.19.2
Platform: openSUSE Linux
: NOR crash
Target Milestone: 1.0
Assignee: David Edmundson
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2020-07-09 12:11 UTC by frank
Modified: 2021-02-12 22:31 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (70.76 KB, patch)
2021-02-12 22:31 UTC, Sébastien
Details

Note You need to log in before you can comment on or make changes to this bug.
Description frank 2020-07-09 12:11:54 UTC
Application: plasmashell (5.19.2)

Qt Version: 5.15.0
Frameworks Version: 5.71.0
Operating System: Linux 5.7.7-1-default x86_64
Windowing system: X11
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed:
Plasma randomly shows me crash reports at startup and exhibits some odd behavior
- Unusual behavior I noticed:
One of my screens shows a black background and the right click menu will not appear, at random. Often restarting the session will fix it.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault

[KCrash Handler]
#4  0x0000000000000000 in  ()
#5  0x00007f99cb3f2ca4 in Plasma::DataEngineManager::unloadEngine(QString const&) (name=..., this=0x7f99cb447710 <Plasma::(anonymous namespace)::Q_QGS_privateDataEngineManagerSelf::innerFunction()::holder>) at /usr/src/debug/plasma-framework-5.71.0-3.1.x86_64/src/plasma/private/dataenginemanager.cpp:153
#6  0x00007f99cb3f2ca4 in Plasma::DataEngineConsumer::~DataEngineConsumer() (this=<optimized out>, this=<optimized out>) at /usr/src/debug/plasma-framework-5.71.0-3.1.x86_64/src/plasma/dataengineconsumer.cpp:84
#7  0x00007f994c045744 in WeatherEngine::~WeatherEngine() (this=0x562f4309fce0, this=<optimized out>) at /usr/src/debug/plasma5-workspace-5.19.2-2.1.x86_64/dataengines/weather/weatherengine.cpp:54
#8  0x00007f994c045779 in WeatherEngine::~WeatherEngine() (this=0x562f4309fce0, this=<optimized out>) at /usr/src/debug/plasma5-workspace-5.19.2-2.1.x86_64/dataengines/weather/weatherengine.cpp:56
#9  0x00007f99cb3ee797 in Plasma::DataEngineManagerPrivate::~DataEngineManagerPrivate() (this=0x562f4180c540, this=<optimized out>) at /usr/src/debug/plasma-framework-5.71.0-3.1.x86_64/src/plasma/private/dataenginemanager.cpp:62
#10 0x00007f99cb3ee797 in Plasma::DataEngineManager::~DataEngineManager() (this=0x7f99cb447710 <Plasma::(anonymous namespace)::Q_QGS_privateDataEngineManagerSelf::innerFunction()::holder>, this=<optimized out>) at /usr/src/debug/plasma-framework-5.71.0-3.1.x86_64/src/plasma/private/dataenginemanager.cpp:102
#11 0x00007f99cb3ee879 in Plasma::(anonymous namespace)::Q_QGS_privateDataEngineManagerSelf::innerFunction()::Holder::~Holder() () at /usr/src/debug/plasma-framework-5.71.0-3.1.x86_64/src/plasma/private/dataenginemanager.cpp:87
#12 0x00007f99c8f17d67 in __run_exit_handlers () at /lib64/libc.so.6
#13 0x00007f99c8f17f0c in  () at /lib64/libc.so.6
#14 0x00007f99c8dd96df in _XDefaultIOError (dpy=0x562f40f4e980) at XlibInt.c:1310
#15 0x00007f99c8ddcede in _XIOError (dpy=dpy@entry=0x562f40f4e980) at XlibInt.c:1526
#16 0x00007f99c8de1aec in _XReply (dpy=0x562f40f4e980, rep=0x7f9974ff70e0, extra=0, discard=0) at xcb_io.c:716
#17 0x00007f99bd8779b8 in  () at /usr/lib64/libGLX_nvidia.so.0
#18 0x00007f99bd80c40c in  () at /usr/lib64/libGLX_nvidia.so.0
#19 0x00007f99bd863611 in  () at /usr/lib64/libGLX_nvidia.so.0
#20 0x00007f99bd863f28 in  () at /usr/lib64/libGLX_nvidia.so.0
#21 0x00007f99b7220d87 in  () at /usr/lib64/libnvidia-glcore.so.390.138
#22 0x00007f99b722100b in  () at /usr/lib64/libnvidia-glcore.so.390.138
#23 0x00007f99b7221099 in  () at /usr/lib64/libnvidia-glcore.so.390.138
#24 0x00007f99b6fe034b in  () at /usr/lib64/libnvidia-glcore.so.390.138
#25 0x00007f99b6fe0483 in  () at /usr/lib64/libnvidia-glcore.so.390.138
#26 0x00007f99b7109e5c in  () at /usr/lib64/libnvidia-glcore.so.390.138
#27 0x00007f99b7399d70 in  () at /usr/lib64/libnvidia-glcore.so.390.138
#28 0x00007f99b6e8241c in  () at /usr/lib64/libnvidia-glcore.so.390.138
#29 0x00007f99caffb017 in QSGBatchRenderer::Renderer::renderBatches() (this=this@entry=0x7f9958144ce0) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/include/QtQuick/5.15.0/QtQuick/private/../../../../../src/quick/scenegraph/coreapi/qsgrenderer_p.h:131
#30 0x00007f99caffb922 in QSGBatchRenderer::Renderer::render() (this=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:4324
#31 0x00007f99cafe4220 in QSGRenderer::renderScene(QSGBindable const&) (bindable=..., this=0x7f9958144ce0) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/quick/scenegraph/coreapi/qsgrenderer.cpp:264
#32 0x00007f99cafe4220 in QSGRenderer::renderScene(QSGBindable const&) (this=0x7f9958144ce0, bindable=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/quick/scenegraph/coreapi/qsgrenderer.cpp:220
#33 0x00007f99cafe46f3 in QSGRenderer::renderScene(unsigned int) (this=<optimized out>, fboId=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/quick/scenegraph/coreapi/qsgrenderer.cpp:212
#34 0x00007f99cb043603 in QSGDefaultRenderContext::renderNextFrame(QSGRenderer*, unsigned int) (this=0x562f415eca70, renderer=0x7f9958144ce0, fboId=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/quick/scenegraph/qsgdefaultrendercontext.cpp:228
#35 0x00007f99cb0ad169 in QQuickWindowPrivate::renderSceneGraph(QSize const&, QSize const&) (this=0x562f41583360, size=..., surfaceSize=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/quick/items/qquickwindow.cpp:541
#36 0x00007f99cb05115d in QSGRenderThread::syncAndRender(QImage*) (this=0x7f99c0003f40, grabImage=0x0) at /usr/include/qt5/QtGui/5.15.0/QtGui/private/qrhi_p.h:1259
#37 0x00007f99cb051ab7 in QSGRenderThread::run() (this=0x7f99c0003f40) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1043
#38 0x00007f99c9351871 in QThreadPrivate::start(void*) (arg=0x7f99c0003f40) at thread/qthread_unix.cpp:342
#39 0x00007f99c86ceeaa in start_thread () at /lib64/libpthread.so.0
#40 0x00007f99c8fd8b1f in clone () at /lib64/libc.so.6

#1  0x00007f99c79965de in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f99c79966ff in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f99c9586f6b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f99a0000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f99c952e4cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f99ab3e6da0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f99c935073e in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f99c9351871 in QThreadPrivate::start(void*) (arg=0x562f41735140) at thread/qthread_unix.cpp:342
#7  0x00007f99c86ceeaa in start_thread () at /lib64/libpthread.so.0
#8  0x00007f99c8fd8b1f in clone () at /lib64/libc.so.6

#1  0x00007f99c79df15f in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f99c799612e in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f99c7996585 in  () at /usr/lib64/libglib-2.0.so.0
#4  0x00007f99c79966ff in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#5  0x00007f99c9586f6b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f99b0000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f99c952e4cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f99bededd80, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#7  0x00007f99c935073e in QThread::exec() (this=this@entry=0x562f412ce740) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#8  0x00007f99caced5d5 in QQmlThreadPrivate::run() (this=0x562f412ce740) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/qml/qml/ftw/qqmlthread.cpp:155
#9  0x00007f99c9351871 in QThreadPrivate::start(void*) (arg=0x562f412ce740) at thread/qthread_unix.cpp:342
#10 0x00007f99c86ceeaa in start_thread () at /lib64/libpthread.so.0
#11 0x00007f99c8fd8b1f in clone () at /lib64/libc.so.6

#1  0x00007f99c79df15f in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f99c799612e in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f99c7996585 in  () at /usr/lib64/libglib-2.0.so.0
#4  0x00007f99c79966ff in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#5  0x00007f99c9586f6b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f99b8000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f99c952e4cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f99bfffed50, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#7  0x00007f99c935073e in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#8  0x00007f99ca6aba17 in QDBusConnectionManager::run() (this=0x7f99ca718d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#9  0x00007f99c9351871 in QThreadPrivate::start(void*) (arg=0x7f99ca718d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:342
#10 0x00007f99c86ceeaa in start_thread () at /lib64/libpthread.so.0
#11 0x00007f99c8fd8b1f in clone () at /lib64/libc.so.6

#1  0x00007f99c93575cb in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., deadline=..., this=0x7f99c0008e60) at thread/qwaitcondition_unix.cpp:146
#2  0x00007f99c93575cb in QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x7f99c0003f98, deadline=...) at thread/qwaitcondition_unix.cpp:225
#3  0x00007f99cb05376a in QSGThreadedRenderLoop::polishAndSync(QSGThreadedRenderLoop::Window*, bool) (this=this@entry=0x562f4161ded0, w=w@entry=0x562f418c7360, inExpose=inExpose@entry=true) at /usr/include/qt5/QtCore/qdeadlinetimer.h:68
#4  0x00007f99cb054402 in QSGThreadedRenderLoop::handleExposure(QQuickWindow*) (this=0x562f4161ded0, window=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1373
#5  0x00007f99c997c055 in QWindow::event(QEvent*) (this=0x562f412b29f0, ev=<optimized out>) at kernel/qwindow.cpp:2433
#6  0x00007f99ca0dc0cf in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x562f412b29f0, e=0x7ffd438a9460) at kernel/qapplication.cpp:3671
#7  0x00007f99c952fb0a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x562f412b29f0, event=0x7ffd438a9460) at ../../include/QtCore/5.15.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#8  0x00007f99c997123d in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) (e=0x562f4392f240) at kernel/qguiapplication.cpp:3193
#9  0x00007f99c994609b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1175
#10 0x00007f99c4fbdf4a in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#11 0x00007f99c79962c7 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#12 0x00007f99c7996648 in  () at /usr/lib64/libglib-2.0.so.0
#13 0x00007f99c79966ff in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#14 0x00007f99c9586f4f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x562f410c6be0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#15 0x00007f99c952e4cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffd438a96d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#16 0x00007f99c9536730 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#17 0x0000562f4075bc87 in main(int, char**) (argc=<optimized out>, argv=0x7ffd438a98f0) at /usr/src/debug/plasma5-workspace-5.19.2-2.1.x86_64/shell/main.cpp:224
[Inferior 1 (process 7149) detached]

Possible duplicates by query: bug 420899, bug 419420, bug 410166, bug 406138, bug 402676.

Reported using DrKonqi
Comment 1 David Edmundson 2020-07-09 22:12:19 UTC
So we have two bugs:


One a crash after we're already exiting in some dataengine code, which arguably we should fix.


but we shouldn't be already exiting randomly midway through things, which is the more important issue. That's coming from inside Nvidia code"

#12 0x00007f99c8f17d67 in __run_exit_handlers () at /lib64/libc.so.6
#17 0x00007f99bd8779b8 in  () at /usr/lib64/libGLX_nvidia.so.0

We can't do too much with that.
Comment 2 Sébastien 2021-02-12 22:31:23 UTC
Created attachment 135648 [details]
New crash information added by DrKonqi

plasmashell (5.18.5) using Qt 5.12.8

- What I was doing when the application crashed:
Login after computer went out of sleep mode

- Unusual behavior I noticed:
All previous applications open are closed

- Custom settings of the application:
Standard installation, application often open when I put the computer in sleep mode : Thunderbird, Firfox, KeePassXC, Synology Drive Client, Synology Note Client

-- Backtrace (Reduced):
#8  0x00007f9cadebca27 in __run_exit_handlers (status=1, listp=0x7f9cae05e718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
#9  0x00007f9cadebcbe0 in __GI_exit (status=<optimized out>) at exit.c:139
#10 0x00007f9cb0450ef3 in _XDefaultIOError () from /lib/x86_64-linux-gnu/libX11.so.6
[...]
#12 0x00007f9cb04511a2 in _XIOError () from /lib/x86_64-linux-gnu/libX11.so.6
#13 0x00007f9cb044f16c in _XReply () from /lib/x86_64-linux-gnu/libX11.so.6