Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.11.1
-
None
-
Ubuntu 17.10
-
f71048a5314c93732a8a77460b465709b632ff5e
Description
I regularly get crashes with the following stack trace. The crash is due to QOpenGLTextureGlyphCache::resizeTextureData trying to use pex->shaderManager (on the line pex->shaderManager->useBlitProgram();), where shaderManager is null. I cannot share the code, and I have no idea how to recreate this with a minimal example. However, I think there is enough information in the stack trace to show that something is wrong:
From what I can tell, the shaderManager should only be not null between calls to QOpenGL2PaintEngineEx::begin and QOpenGL2PaintEngineEx::end, but there is no sign of those functions intentionally being called anywhere in this stack.
I have experienced this problem with the precompiled Qt 5.11 release, and with the Qt 5.11.1 release compiled from source (this is on Linux).
This trace is from the 5.11.1 release:
1 QOpenGLEngineShaderManager::useBlitProgram qopenglengineshadermanager.cpp 660 0x7ffff65418ad 2 QOpenGLTextureGlyphCache::resizeTextureData qopengltextureglyphcache.cpp 382 0x7ffff6554b36 3 QTextureGlyphCache::resizeCache qtextureglyphcache_p.h 133 0x7ffff64afe71 4 QTextureGlyphCache::fillInPendingGlyphs qtextureglyphcache.cpp 246 0x7ffff64afe71 5 QSGTextMaskMaterial::populate qsgdefaultglyphnode_p.cpp 476 0x7ffff75bdea0 6 QSGDefaultGlyphNode::update qsgdefaultglyphnode.cpp 101 0x7ffff75b8951 7 QQuickTextNode::addGlyphs qquicktextnode.cpp 117 0x7ffff768f7d6 8 QQuickTextNodeEngine::addToSceneGraph qquicktextnodeengine.cpp 784 0x7ffff7696105 9 QQuickTextNode::addTextLayout qquicktextnode.cpp 271 0x7ffff769084d 10 QQuickText::updatePaintNode qquicktext.cpp 2405 0x7ffff768f196 11 QQuickWindowPrivate::updateDirtyNode qquickwindow.cpp 3439 0x7ffff763cc45 12 QQuickWindowPrivate::updateDirtyNodes qquickwindow.cpp 3184 0x7ffff763d377 13 QQuickWindowPrivate::syncSceneGraph qquickwindow.cpp 431 0x7ffff763d4fc 14 QQuickRenderControl::sync qquickrendercontrol.cpp 286 0x7ffff7709ff1 15 QQuickWidgetPrivate::render qquickwidget.cpp 285 0x7ffff7ebec4d 16 QQuickWidgetPrivate::renderSceneGraph qquickwidget.cpp 339 0x7ffff7ebed86 17 QQuickWidget::timerEvent qquickwidget.cpp 1128 0x7ffff7ebf60f 18 QObject::event qobject.cpp 1232 0x7ffff5e408d6 19 QWidget::event qwidget.cpp 9347 0x7ffff68b569a 20 QQuickWidget::event qquickwidget.cpp 1525 0x7ffff7ec3527