[Interest] Crash in QSGOpaqueTextureMaterial::compare

Gunnar Sletta gunnar at sletta.org
Fri Dec 9 19:17:38 CET 2016


Is the application using QSGSimpleTextureNode and QSGTexture or is this a plain QML application? If so, are you deleting textures at the right time and updating nodes accordingly?

We did have issues with textures being deleted out of turn on the render thread, but that was fixed back in 5.1-days or so and I haven't seen backtraces like this since then.

cheers,
Gunnar

> On 09 Dec 2016, at 12:16, Jani Tykka <jtykka at broadsoft.com> wrote:
> 
> Hi,
> 
> I'm experiencing a crash that is quite common, but no idea about steps
> how to reproduce it (I have never been able to reproduce it myself,
> but various users sees it time after time). I think it's not directly
> a Qt bug, instead it might be something I do incorrectly. The crash
> seems to be most common after the application had been idling for a
> while or the computer is resumed from the sleep mode. Basically when
> the scene needs to be rendered again. I'd appreciate any hints that
> would help me to track this issue. See clipped crash stack traces
> below (Qt 5.6.2 on Windows), thanks.
> 
> Case 1
> QSGOpaqueTextureMaterial::compare
> qt5\qtdeclarative\src\quick\scenegraph\util\qsgtexturematerial.cpp:295
> QSGBatchRenderer::Renderer::prepareOpaqueBatches
> qt5\qtdeclarative\src\quick\scenegraph\coreapi\qsgbatchrenderer.cpp:1520
> Qt5Core.dll Qt5Core.dll at 0x1afb0
> Qt5Quick.dll QSGBatchRenderer::Renderer::render
> qt5\qtdeclarative\src\quick\scenegraph\coreapi\qsgbatchrenderer.cpp:2615
> Qt5Quick.dll QSGRenderer::renderScene
> qt5\qtdeclarative\src\quick\scenegraph\coreapi\qsgrenderer.cpp:217
> Qt5Quick.dll QSGRenderer::renderScene
> qt5\qtdeclarative\src\quick\scenegraph\coreapi\qsgrenderer.cpp:177
> Qt5Quick.dll QSGRenderContext::renderNextFrame
> qt5\qtdeclarative\src\quick\scenegraph\qsgcontext.cpp:555
> Qt5Quick.dll QQuickWindowPrivate::renderSceneGraph
> qt5\qtdeclarative\src\quick\items\qquickwindow.cpp:424
> Qt5Quick.dll QSGWindowsRenderLoop::renderWindow
> qt5\qtdeclarative\src\quick\scenegraph\qsgwindowsrenderloop.cpp:452
> Qt5Quick.dll QSGWindowsRenderLoop::render
> qt5\qtdeclarative\src\quick\scenegraph\qsgwindowsrenderloop.cpp:371
> Qt5Quick.dll QSGWindowsRenderLoop::event
> qt5\qtdeclarative\src\quick\scenegraph\qsgwindowsrenderloop.cpp:350
> Qt5Widgets.dll QApplicationPrivate::notify_helper
> qt5\qtbase\src\widgets\kernel\qapplication.cpp:3804
> ....
> 
> Case 2
> Qt5Quick.dll QSGOpaqueTextureMaterial::compare
> qt5\qtdeclarative\src\quick\scenegraph\util\qsgtexturematerial.cpp:295
> Qt5Quick.dll QSGBatchRenderer::Batch::isMaterialCompatible
> qt5\qtdeclarative\src\quick\scenegraph\coreapi\qsgbatchrenderer.cpp:620
> Qt5Quick.dll QSGBatchRenderer::Renderer::nodeChanged
> qt5\qtdeclarative\src\quick\scenegraph\coreapi\qsgbatchrenderer.cpp:1212
> Qt5Quick.dll QSGNode::markDirty
> qt5\qtdeclarative\src\quick\scenegraph\coreapi\qsgnode.cpp:672
> Qt5Quick.dll QSGDefaultImageNode::setTexture
> qt5\qtdeclarative\src\quick\scenegraph\qsgdefaultimagenode.cpp:244
> Qt5Quick.dll QQuickImage::updatePaintNode
> qt5\qtdeclarative\src\quick\items\qquickimage.cpp:724
> Qt5Quick.dll QQuickWindowPrivate::updateDirtyNode
> qt5\qtdeclarative\src\quick\items\qquickwindow.cpp:3061
> Qt5Quick.dll QQuickWindowPrivate::updateDirtyNodes
> qt5\qtdeclarative\src\quick\items\qquickwindow.cpp:2806
> Qt5Quick.dll QQuickWindowPrivate::syncSceneGraph
> qt5\qtdeclarative\src\quick\items\qquickwindow.cpp:379
> Qt5Quick.dll QSGWindowsRenderLoop::renderWindow
> qt5\qtdeclarative\src\quick\scenegraph\qsgwindowsrenderloop.cpp:448
> Qt5Quick.dll QSGWindowsRenderLoop::render
> qt5\qtdeclarative\src\quick\scenegraph\qsgwindowsrenderloop.cpp:371
> Qt5Quick.dll QSGWindowsRenderLoop::exposureChanged
> qt5\qtdeclarative\src\quick\scenegraph\qsgwindowsrenderloop.cpp:286
> ...
> 
> -- 
> 
> 
> This email is intended solely for the person or entity to which it is 
> addressed and may contain confidential and/or privileged information. If 
> you are not the intended recipient and have received this email in error, 
> please notify BroadSoft, Inc. immediately by replying to this message, and 
> destroy all copies of this message, along with any attachment, prior to 
> reading, distributing or copying it.
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest




More information about the Interest mailing list