Bug 381429 - KWin crashes after restartings of Firefox
Summary: KWin crashes after restartings of Firefox
Status: RESOLVED UPSTREAM
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 5.10.1
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2017-06-20 09:34 UTC by Carl's Son
Modified: 2017-06-20 16:10 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carl's Son 2017-06-20 09:34:03 UTC
Application: kwin_x11 (5.10.1)

Qt Version: 5.7.1
Frameworks Version: 5.35.0
Operating System: Linux 4.12.0-rc6-Cartoon x86_64
Distribution: "Fedora release 26 (Twenty Six)"

-- Information about the crash:
Several Firefox restarts (closing program and start again) during one user session leads KWin to stop unexpectedly.

- Firefox settings:

GPU #1
Active	Yes
Description	NVIDIA Corporation -- GeForce GT 730/PCIe/SSE2
Vendor ID	NVIDIA Corporation
Device ID	GeForce GT 730/PCIe/SSE2
Driver Version      4.5.0 NVIDIA 381.22

Diagnostics:
AzureCanvasAccelerated	0
AzureCanvasBackend	skia
AzureContentBackend	cairo
AzureFallbackCanvasBackend	cairo
CairoUseXRender	1

HW_COMPOSITING	
blocked by default: Acceleration blocked by platform

OPENGL_COMPOSITING	
unavailable by default: Hardware compositing is disabled

WEBRENDER	
opt-in by default: WebRender is an opt-in feature
available by user: Enabled by pref
unavailable by runtime: Build doesn't include WebRender

browser.tabs.remote.autostart	true
browser.tabs.remote.force-enable	true
dom.ipc.processCount	                         7
dom.ipc.processCount.extension	4
dom.w3c_touch_events.enabled	0
font.internaluseonly.changed	true
gfx.canvas.azure.accelerated	true
gfx.canvas.azure.backends	                         skia,cairo
gfx.content.azure.backends	cairo,skia
gfx.webrender.enabled	                         true
gfx.webrender.profiler.enabled	true
gfx.xrender.enabled	                         true
javascript.options.wasm_baselinejit	true
layout.css.dpi                                                    0
Seccomp-BPF (System Call Filtering)	true
Seccomp Thread Synchronisation	true
User Namespaces	                         true
Content Process Sandboxing	true
Media Plugin Sandboxing	                         true
Content Process Sandbox Level	2
Effective Content Process Sandbox Level	2


- KDE rendering backend set to OpenGL 3.1
- Applications not allowed to block compositing

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 0x7f2b00c3d940 (LWP 1298))]

Thread 6 (Thread 0x7f2af27ea700 (LWP 1703)):
#0  0x00007f2b0f12de86 in ppoll () at /lib64/libc.so.6
#1  0x00007f2b0ff48065 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/bits/poll2.h:77
#2  0x00007f2b0ff48065 in qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f2ae40076f8) at kernel/qcore_unix.cpp:81
#3  0x00007f2b0ff48065 in qt_safe_poll(pollfd*, unsigned long, timespec const*) (fds=0x7f2ae40076f8, nfds=nfds@entry=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:102
#4  0x00007f2b0ff4955d in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f2b0fefbb8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f2af27e9c50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f2b0fd50efa in QThread::exec() (this=this@entry=0x5565f26faef0) at thread/qthread.cpp:507
#7  0x00007f2b168769b5 in QQmlThreadPrivate::run() (this=0x5565f26faef0) at qml/ftw/qqmlthread.cpp:147
#8  0x00007f2b0fd551ee in QThreadPrivate::start(void*) (arg=0x5565f26faef0) at thread/qthread_unix.cpp:368
#9  0x00007f2b11f5236d in start_thread () at /lib64/libpthread.so.0
#10 0x00007f2b0f139e9f in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f2adb014700 (LWP 1595)):
#0  0x00007f2b11f5881b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f2b17621534 in QTWTF::TCMalloc_PageHeap::scavengerThread() (this=0x7f2b1770e380 <QTWTF::pageheap_memory>) at /usr/src/debug/qtscript-opensource-src-5.7.1/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f2b17621579 in QTWTF::TCMalloc_PageHeap::runScavengerThread(void*) (context=<optimized out>) at /usr/src/debug/qtscript-opensource-src-5.7.1/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f2b11f5236d in start_thread () at /lib64/libpthread.so.0
#4  0x00007f2b0f139e9f in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f2af16e6700 (LWP 1505)):
#0  0x00007f2b0f12de86 in ppoll () at /lib64/libc.so.6
#1  0x00007f2b0ff48065 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/bits/poll2.h:77
#2  0x00007f2b0ff48065 in qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f2ae8000ac8) at kernel/qcore_unix.cpp:81
#3  0x00007f2b0ff48065 in qt_safe_poll(pollfd*, unsigned long, timespec const*) (fds=0x7f2ae8000ac8, nfds=nfds@entry=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:102
#4  0x00007f2b0ff4955d in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f2b0fefbb8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f2af16e5c50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f2b0fd50efa in QThread::exec() (this=this@entry=0x5565f21aa1b0) at thread/qthread.cpp:507
#7  0x00007f2b168769b5 in QQmlThreadPrivate::run() (this=0x5565f21aa1b0) at qml/ftw/qqmlthread.cpp:147
#8  0x00007f2b0fd551ee in QThreadPrivate::start(void*) (arg=0x5565f21aa1b0) at thread/qthread_unix.cpp:368
#9  0x00007f2b11f5236d in start_thread () at /lib64/libpthread.so.0
#10 0x00007f2b0f139e9f in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f2af3636700 (LWP 1400)):
#0  0x00007f2b0f12de86 in ppoll () at /lib64/libc.so.6
#1  0x00007f2b0ff48065 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/bits/poll2.h:77
#2  0x00007f2b0ff48065 in qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f2aec00a7d8) at kernel/qcore_unix.cpp:81
#3  0x00007f2b0ff48065 in qt_safe_poll(pollfd*, unsigned long, timespec const*) (fds=0x7f2aec00a7d8, nfds=nfds@entry=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:102
#4  0x00007f2b0ff4955d in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f2b0fefbb8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f2af3635c30, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f2b0fd50efa in QThread::exec() (this=this@entry=0x7f2b1477b060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:507
#7  0x00007f2b146fe709 in QDBusConnectionManager::run() (this=0x7f2b1477b060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#8  0x00007f2b0fd551ee in QThreadPrivate::start(void*) (arg=0x7f2b1477b060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:368
#9  0x00007f2b11f5236d in start_thread () at /lib64/libpthread.so.0
#10 0x00007f2b0f139e9f in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f2af90a7700 (LWP 1361)):
#0  0x00007f2b0f12ddad in poll () at /lib64/libc.so.6
#1  0x00007f2b11655c97 in _xcb_conn_wait () at /lib64/libxcb.so.1
#2  0x00007f2b11657a8a in xcb_wait_for_event () at /lib64/libxcb.so.1
#3  0x00007f2af9f8ab99 in QXcbEventReader::run() (this=0x5565f1cdb650) at qxcbconnection.cpp:1343
#4  0x00007f2b0fd551ee in QThreadPrivate::start(void*) (arg=0x5565f1cdb650) at thread/qthread_unix.cpp:368
#5  0x00007f2b11f5236d in start_thread () at /lib64/libpthread.so.0
#6  0x00007f2b0f139e9f in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f2b00c3d940 (LWP 1298)):
[KCrash Handler]
#6  0x000000004055183b in  ()
#7  0x00007f2ae21ad074 in  () at /lib64/libnvidia-glcore.so.381.22
#8  0x00007f2ae21b2348 in  () at /lib64/libnvidia-glcore.so.381.22
#9  0x00007f2ae1d7f938 in  () at /lib64/libnvidia-glcore.so.381.22
#10 0x00007f2b104d25f6 in QOpenGLFunctions::glDrawArrays(unsigned int, int, int) (count=4, first=0, mode=6, this=0x5565f311b5b0) at ../../src/gui/opengl/qopenglfunctions.h:741
#11 0x00007f2b104d25f6 in QOpenGLTextureGlyphCache::resizeTextureData(int, int) (this=0x5565f34ce530, width=<optimized out>, height=<optimized out>) at opengl/qopengltextureglyphcache.cpp:392
#12 0x00007f2b1047699c in QTextureGlyphCache::resizeCache(int, int) (height=<optimized out>, width=<optimized out>, this=0x5565f34ce530) at painting/qtextureglyphcache_p.h:130
#13 0x00007f2b1047699c in QTextureGlyphCache::fillInPendingGlyphs() (this=0x5565f34ce530) at painting/qtextureglyphcache.cpp:247
#14 0x00007f2b16d2574f in QSGTextMaskMaterial::populate(QPointF const&, QVector<unsigned int> const&, QVector<QPointF> const&, QSGGeometry*, QRectF*, QPointF*, QMargins const&) (this=this@entry=0x5565f38207e0, p=..., glyphIndexes=..., glyphPositions=..., geometry=geometry@entry=0x5565f3786780, boundingRect=boundingRect@entry=0x7ffce2e48650, baseLine=<optimized out>, margins=...) at scenegraph/qsgdefaultglyphnode_p.cpp:474
#15 0x00007f2b16d23720 in QSGDefaultGlyphNode::update() (this=0x5565f3786670) at scenegraph/qsgdefaultglyphnode.cpp:126
#16 0x00007f2b16da86a7 in QQuickTextNode::addGlyphs(QPointF const&, QGlyphRun const&, QColor const&, QQuickText::TextStyle, QColor const&, QSGNode*) (this=this@entry=0x5565f39bed30, position=..., glyphs=..., color=..., style=style@entry=QQuickText::Normal, styleColor=..., parentNode=0x0) at items/qquicktextnode.cpp:115
#17 0x00007f2b16dad364 in QQuickTextNodeEngine::addToSceneGraph(QQuickTextNode*, QQuickText::TextStyle, QColor const&) (this=this@entry=0x7ffce2e488a0, parentNode=parentNode@entry=0x5565f39bed30, style=style@entry=QQuickText::Normal, styleColor=...) at items/qquicktextnodeengine.cpp:777
#18 0x00007f2b16da9662 in QQuickTextNode::addTextLayout(QPointF const&, QTextLayout*, QColor const&, QQuickText::TextStyle, QColor const&, QColor const&, QColor const&, QColor const&, int, int, int, int) (this=this@entry=0x5565f39bed30, position=..., textLayout=textLayout@entry=0x5565f380a698, color=..., style=QQuickText::Normal, styleColor=..., anchorColor=..., selectionColor=..., selectedTextColor=..., selectionStart=-1, selectionEnd=-1, lineStart=0, lineCount=1) at items/qquicktextnode.cpp:273
#19 0x00007f2b16da80c4 in QQuickText::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) (this=0x5565f29f9140, oldNode=<optimized out>, data=<optimized out>) at items/qquicktext.cpp:2300
#20 0x00007f2b16d67068 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) (this=this@entry=0x5565f32e0ee0, item=item@entry=0x5565f29f9140) at items/qquickwindow.cpp:3121
#21 0x00007f2b16d67a13 in QQuickWindowPrivate::updateDirtyNodes() (this=this@entry=0x5565f32e0ee0) at items/qquickwindow.cpp:2866
#22 0x00007f2b16d68bb0 in QQuickWindowPrivate::syncSceneGraph() (this=0x5565f32e0ee0) at items/qquickwindow.cpp:419
#23 0x00007f2b16e49faa in QQuickRenderControl::sync() (this=<optimized out>) at items/qquickrendercontrol.cpp:272
#24 0x00007f2af1921ae2 in QtPrivate::QFunctorSlotObject<Aurorae::Decoration::init()::{lambda()#5}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) () at /usr/lib64/qt5/plugins/org.kde.kdecoration2/kwin5_aurorae.so
#25 0x00007f2b0ff244b7 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffce2e4b110, r=0x5565f2e61a10, this=0x5565f3635120) at ../../src/corelib/kernel/qobject_impl.h:101
#26 0x00007f2b0ff244b7 in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0x5565f3ab3e40, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3723
#27 0x00007f2b0ff24977 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x5565f3ab3e40, m=m@entry=0x7f2b10139e20 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3602
#28 0x00007f2b0ff94e40 in QTimer::timeout(QTimer::QPrivateSignal) (this=this@entry=0x5565f3ab3e40) at .moc/moc_qtimer.cpp:198
#29 0x00007f2b0ff30568 in QTimer::timerEvent(QTimerEvent*) (this=0x5565f3ab3e40, e=<optimized out>) at kernel/qtimer.cpp:254
#30 0x00007f2b0ff2514b in QObject::event(QEvent*) (this=0x5565f3ab3e40, e=<optimized out>) at kernel/qobject.cpp:1285
#31 0x00007f2b1074fd9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x5565f1cc1370, receiver=receiver@entry=0x5565f3ab3e40, e=e@entry=0x7ffce2e4b420) at kernel/qapplication.cpp:3799
#32 0x00007f2b107573d4 in QApplication::notify(QObject*, QEvent*) (this=0x7ffce2e4b6a0, receiver=0x5565f3ab3e40, e=0x7ffce2e4b420) at kernel/qapplication.cpp:3556
#33 0x00007f2b0fefcb8b in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5565f3ab3e40, event=event@entry=0x7ffce2e4b420) at kernel/qcoreapplication.cpp:988
#34 0x00007f2b0ff4b32b in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7ffce2e4b420, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:231
#35 0x00007f2b0ff4b32b in QTimerInfoList::activateTimers() (this=this@entry=0x5565f1d1f950) at kernel/qtimerinfo_unix.cpp:644
#36 0x00007f2b0ff485ac in QEventDispatcherUNIXPrivate::activateTimers() (this=this@entry=0x5565f1d1f8b0) at kernel/qeventdispatcher_unix.cpp:249
#37 0x00007f2b0ff496c8 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:514
#38 0x00007f2afa004d7d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:68
#39 0x00007f2b0fefbb8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffce2e4b5c0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#40 0x00007f2b0ff037dc in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1261
#41 0x00007f2b183a4c27 in kdemain () at /lib64/libkdeinit5_kwin_x11.so
#42 0x00007f2b0f0494da in __libc_start_main () at /lib64/libc.so.6
#43 0x00005565f04a4c6a in _start ()

Reported using DrKonqi
Comment 1 Carl's Son 2017-06-20 10:04:39 UTC
IMPORTANT

This bug observed on my machine already for several months with previous versions of Firefox, Plasma, Qt & on Fedora 25.

+ KDE configured to have 4 activities with 4 virtual desktops on each.
Comment 2 Carl's Son 2017-06-20 10:19:30 UTC
PPS. Most often I use Firefox, but I can also say that this issue usually occurs by using any browser or by starting several browsers at the same time.
Comment 3 Martin Flöser 2017-06-20 14:58:00 UTC
Crashes in proprietary NVIDIA driver. Nothing we can do.
Comment 4 Carl's Son 2017-06-20 16:10:58 UTC
(In reply to Martin Flöser from comment #3)
> Crashes in proprietary NVIDIA driver. Nothing we can do.

Grotesque crashes that evolve certain application(s) and not the driver itself!