Actually QSGSimpleTextureNode is used. Just that crashes does rarely or never occur when that part of code is being executed. They might occur much later when that code has been already executed and deleted or then the code is not related at all (really unsure about the steps that produces the crash).
Here is the code which is used in QQuickItem. Do you see anything suspicious here? Thanks. QSGNode * VideoItem::updatePaintNode( QSGNode * node, UpdatePaintNodeData * /*data*/ ) { QSGSimpleTextureNode * n = static_cast< QSGSimpleTextureNode* >( node ); if ( !n ) n = new QSGSimpleTextureNode; n->setRect( 0, 0, width(), height() ); delete m_Texture; m_Texture = window()->createTextureFromImage( m_Renderer->getImage() ); n->setTexture( m_Texture ); n->markDirty( QSGNode::DirtyGeometry ); return n; } On Fri, Dec 9, 2016 at 8:17 PM, Gunnar Sletta <gun...@sletta.org> wrote: > 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 <jty...@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@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@qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > -- Jani Tykkä Development Manager | BroadSoft, Inc. | +358 44 596 0587 | jty...@broadsoft.com -- 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@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest