Bug 413179 - Crash in QOpenGLTextureGlyphCache::resizeTextureData
Summary: Crash in QOpenGLTextureGlyphCache::resizeTextureData
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: aurorae (show other bugs)
Version: 5.12.9
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi
: 413976 414871 416316 416673 417111 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-10-19 09:36 UTC by Aleksandr
Modified: 2020-04-12 07:31 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.18.2
vlad.zahorodnii: NVIDIA+


Attachments
New crash information added by DrKonqi (8.40 KB, text/plain)
2020-04-12 07:31 UTC, Csernáth Gábor
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aleksandr 2019-10-19 09:36:34 UTC
Application: kwin_x11 (5.12.9)

Qt Version: 5.9.5
Frameworks Version: 5.44.0
Operating System: Linux 5.0.0-29-generic x86_64
Distribution: Ubuntu 18.04.3 LTS

-- Information about the crash:
- What I was doing when the application crashed:

I listen music in vlc player and clicked to the "favorite" page in Firefox.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fab6e925d00 (LWP 2108))]

Thread 8 (Thread 0x7fab3b1d9700 (LWP 3935)):
#0  0x00007fab672fe9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x564ab77db854) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fab672fe9f3 in __pthread_cond_wait_common (abstime=0x0, mutex=0x564ab77db800, cond=0x564ab77db828) at pthread_cond_wait.c:502
#2  0x00007fab672fe9f3 in __pthread_cond_wait (cond=0x564ab77db828, mutex=0x564ab77db800) at pthread_cond_wait.c:655
#3  0x00007fab6b4625ab in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fab664d26a8 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#5  0x00007fab664d2b0a in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#6  0x00007fab6b46117d in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fab672f86db in start_thread (arg=0x7fab3b1d9700) at pthread_create.c:463
#8  0x00007fab6e29f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fab4951a700 (LWP 3797)):
#0  0x00007fab6e292cf6 in __GI_ppoll (fds=0x7fab3c0419f8, nfds=1, timeout=<optimized out>, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007fab6b694651 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fab6b695d6e in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fab6b63d9fa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fab6b45c23a in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fab65de46f5 in  () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#6  0x00007fab6b46117d in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fab672f86db in start_thread (arg=0x7fab4951a700) at pthread_create.c:463
#8  0x00007fab6e29f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fab3a858700 (LWP 2962)):
#0  0x00007fab6e2aee80 in __GI___clock_gettime (clock_id=1, tp=0x7fab3a857b50) at ../sysdeps/unix/clock_gettime.c:93
#1  0x00007fab6b6982b1 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fab6b696ae9 in QTimerInfoList::updateCurrentTime() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fab6b6970c5 in QTimerInfoList::timerWait(timespec&) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fab6b696074 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fab6b63d9fa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fab6b45c23a in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fab65de46f5 in  () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007fab6b46117d in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fab672f86db in start_thread (arg=0x7fab3a858700) at pthread_create.c:463
#10 0x00007fab6e29f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fab3986d700 (LWP 2186)):
#0  0x00007fab672fe9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7fab6a895fb8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fab672fe9f3 in __pthread_cond_wait_common (abstime=0x0, mutex=0x7fab6a895f68, cond=0x7fab6a895f90) at pthread_cond_wait.c:502
#2  0x00007fab672fe9f3 in __pthread_cond_wait (cond=0x7fab6a895f90, mutex=0x7fab6a895f68) at pthread_cond_wait.c:655
#3  0x00007fab6a59f5f4 in  () at /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#4  0x00007fab6a59f639 in  () at /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#5  0x00007fab672f86db in start_thread (arg=0x7fab3986d700) at pthread_create.c:463
#6  0x00007fab6e29f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fab48a03700 (LWP 2172)):
#0  0x00007fab6b641f52 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007fab6b695b84 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fab6b63d9fa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fab6b45c23a in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fab65de46f5 in  () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#5  0x00007fab6b46117d in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fab672f86db in start_thread (arg=0x7fab48a03700) at pthread_create.c:463
#7  0x00007fab6e29f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fab4b1a7700 (LWP 2126)):
#0  0x00007fab6e292cf6 in __GI_ppoll (fds=0x7fab4400b2b8, nfds=1, timeout=<optimized out>, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007fab6b694651 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fab6b695d6e in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fab6b63d9fa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fab6b45c23a in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fab64cbdd45 in  () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#6  0x00007fab6b46117d in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fab672f86db in start_thread (arg=0x7fab4b1a7700) at pthread_create.c:463
#8  0x00007fab6e29f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fab51b4f700 (LWP 2115)):
#0  0x00007fab6e292bf9 in __GI___poll (fds=0x7fab51b4ec28, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fab6d19c747 in  () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fab6d19e36a in xcb_wait_for_event () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fab52a2e5e9 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007fab6b46117d in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fab672f86db in start_thread (arg=0x7fab51b4f700) at pthread_create.c:463
#6  0x00007fab6e29f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fab6e925d00 (LWP 2108)):
[KCrash Handler]
#6  0x000000004043ef4f in  ()
#7  0x00007fab5c52a2d0 in  () at /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.340.107
#8  0x00007fab5c531360 in  () at /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.340.107
#9  0x00007fab5c19e378 in  () at /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.340.107
#10 0x00007fab6bf4bff5 in QOpenGLTextureGlyphCache::resizeTextureData(int, int) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#11 0x00007fab6bed091a in QTextureGlyphCache::fillInPendingGlyphs() () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#12 0x00007fab664bbc56 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#13 0x00007fab664b8949 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#14 0x00007fab66567158 in QQuickTextNode::addGlyphs(QPointF const&, QGlyphRun const&, QColor const&, QQuickText::TextStyle, QColor const&, QSGNode*) () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#15 0x00007fab6656c264 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#16 0x00007fab665680ba in QQuickTextNode::addTextLayout(QPointF const&, QTextLayout*, QColor const&, QQuickText::TextStyle, QColor const&, QColor const&, QColor const&, QColor const&, int, int, int, int) () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#17 0x00007fab66566d21 in QQuickText::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#18 0x00007fab66521a18 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#19 0x00007fab66522293 in QQuickWindowPrivate::updateDirtyNodes() () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#20 0x00007fab66523512 in QQuickWindowPrivate::syncSceneGraph() () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#21 0x00007fab665dc4a8 in QQuickRenderControl::grab() () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#22 0x00007fab48a21292 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/org.kde.kdecoration2/kwin5_aurorae.so
#23 0x00007fab6b66e75f in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007fab6b67b0b7 in QTimer::timeout(QTimer::QPrivateSignal) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007fab6b67b418 in QTimer::timerEvent(QTimerEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007fab6b66f16b in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007fab6c3bd83c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007fab6c3c5104 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007fab6b63f9c8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x00007fab6b697e1e in QTimerInfoList::activateTimers() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00007fab6b695fd2 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007fab52a9366d in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#33 0x00007fab6b63d9fa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007fab6b646aa4 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007fab6e577dbb in kdemain () at /usr/lib/x86_64-linux-gnu/libkdeinit5_kwin_x11.so
#36 0x00007fab6e19fb97 in __libc_start_main (main=0x564ab61cf730, argc=3, argv=0x7ffc0ec70648, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc0ec70638) at ../csu/libc-start.c:310
#37 0x0000564ab61cf76a in _start ()

Reported using DrKonqi
Comment 1 Vlad Zahorodnii 2019-10-22 08:46:16 UTC
Looks like this crash in libnvidia-glcore is triggered by QtQuick. I don't see how it can be fixed or worked around in KWin.

@David Shall we close this bug report?
Comment 2 Vlad Zahorodnii 2019-11-18 13:53:38 UTC
*** Bug 413976 has been marked as a duplicate of this bug. ***
Comment 3 Vlad Zahorodnii 2019-12-06 09:09:21 UTC
*** Bug 414871 has been marked as a duplicate of this bug. ***
Comment 4 Vlad Zahorodnii 2020-01-16 14:19:39 UTC
*** Bug 416316 has been marked as a duplicate of this bug. ***
Comment 5 David Edmundson 2020-01-16 14:29:10 UTC
>@David Shall we close this bug report?

I would rather not till we can make a valid report to Qt. Also given we're using the much lower level QQuickRenderControl it could very well mean we're the ones at fault.

There's a reasonable chance that my rewrite of Aurorae to EffectQuickView will have fixed things.
Comment 6 Vlad Zahorodnii 2020-01-25 00:01:18 UTC
*** Bug 416673 has been marked as a duplicate of this bug. ***
Comment 7 David Edmundson 2020-02-03 16:35:24 UTC
*** Bug 417111 has been marked as a duplicate of this bug. ***
Comment 8 David Edmundson 2020-02-18 23:29:15 UTC
Can everyone in this thread confirm which window decoration they are using?

Also that it crashes when they visit this webpage:
https://www.youtube.com/results?search_query=%F0%9F%98%80

which puts an emoticon in the window titlebar.
Comment 9 David Edmundson 2020-02-19 08:27:44 UTC
Git commit 39798bffb1398d6b75a067ff5552a63ea6b182f7 by David Edmundson.
Committed on 19/02/2020 at 08:27.
Pushed by davidedmundson into branch 'Plasma/5.18'.

[plastik] Disable problematic text hints

Summary:
Use of "style: Text.Raised" combined with UTF-8 emoji characters
currently crashes deep in font rendering code.

A report has been submitted upstream:
https://bugreports.qt.io/browse/QTBUG-82311

Given this crash is surprisingly common, this patch removes the text
shadow. I normally would be against removing features, but this was a
subtle effect anyway and frankly just made things look blurry. I doubt
it'll be missed.
Related: bug 417699

Test Plan:
Made unit test for the crash in qmlscene
Fixed the issue there

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D27488

M  +0    -3    plugins/kdecorations/aurorae/themes/plastik/package/contents/config/main.xml
M  +0    -11   plugins/kdecorations/aurorae/themes/plastik/package/contents/ui/config.ui
M  +0    -4    plugins/kdecorations/aurorae/themes/plastik/package/contents/ui/main.qml

https://commits.kde.org/kwin/39798bffb1398d6b75a067ff5552a63ea6b182f7
Comment 10 EBaisleyJr 2020-02-19 13:36:26 UTC
I use Diamond window decorations, and that YouTube page crashes nothing.
Comment 11 Csernáth Gábor 2020-04-12 07:31:18 UTC
Created attachment 127461 [details]
New crash information added by DrKonqi

kwin_x11 (5.8.9) using Qt 5.6.1

- What I was doing when the application crashed:
I listened one mp3 track and when it stopped, the KWIN crashed.
- Unusual behavior I noticed:
Strange desktop behaviour for a second
- Custom settings of the application:

-- Backtrace (Reduced):
#10 0x00007fd6667540a6 in QOpenGLTextureGlyphCache::resizeTextureData(int, int) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#11 0x00007fd6666c91ba in QTextureGlyphCache::fillInPendingGlyphs() () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
[...]
#17 0x00007fd6615ef969 in QQuickText::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#18 0x00007fd6615aef10 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#19 0x00007fd6615af77b in QQuickWindowPrivate::updateDirtyNodes() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5