davidedmundson added a comment.

  My valgrind, using your test instructions is showing it is.
  
      at 0x75B5D3C: texture (qsgtexturematerial.h:58)
      by 0x75B5D3C: QSGSimpleTextureNode::texture() const 
(qsgsimpletexturenode.cpp:264)
      by 0x26044983: Plotter::render() (plotter.cpp:699)
      by 0x2604BFFF: QtPrivate::FunctorCall<QtPrivate::IndexesList<>, 
QtPrivate::List<>, void, void (Plotter::*)()>::call(void (Plotter::*)(), 
Plotter*, void**) (qobjectdefs_impl.h:136)
      by 0x2604BE22: void QtPrivate::FunctionPointer<void 
(Plotter::*)()>::call<QtPrivate::List<>, void>(void (Plotter::*)(), Plotter*, 
void**) (qobjectdefs_impl.h:169)
      by 0x2604B08C: QtPrivate::QSlotObject<void (Plotter::*)(), 
QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, 
void**, bool*) (qobjectdefs_impl.h:398)
      by 0xB8E1E86: call (qobjectdefs_impl.h:378)
      by 0xB8E1E86: QMetaObject::activate(QObject*, int, int, void**) 
(qobject.cpp:3749)
      by 0xB8E236A: QMetaObject::activate(QObject*, QMetaObject const*, int, 
void**) (qobject.cpp:3628)
      by 0x764EC91: QQuickWindow::beforeRendering() (moc_qquickwindow.cpp:497)
      by 0x765202F: QQuickWindowPrivate::renderSceneGraph(QSize const&) 
(qquickwindow.cpp:452)
      by 0x75EE216: QSGRenderThread::syncAndRender() 
(qsgthreadedrenderloop.cpp:645)
      by 0x75F2EC0: QSGRenderThread::run() (qsgthreadedrenderloop.cpp:729)
      by 0xB6DF681: QThreadPrivate::start(void*) (qthread_unix.cpp:376)
    
    
    Address 0x25699360 is 336 bytes inside a block of size 400 free'd
      at 0x4C2E64B: operator delete(void*) (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
      by 0x5099B29: ManagedTextureNode::~ManagedTextureNode() 
(managedtexturenode.h:45)
      by 0x7597A3E: QSGNode::destroy() (qsgnode.cpp:390)
      by 0x7597AE1: QSGNode::~QSGNode() (qsgnode.cpp:328)
      by 0x7597C64: QSGTransformNode::~QSGTransformNode() (qsgnode.cpp:1185)
      by 0x7597C72: QSGTransformNode::~QSGTransformNode() (qsgnode.cpp:1187)
      by 0x7651EEE: QQuickWindowPrivate::cleanupNodes() (qquickwindow.cpp:3080)
  
  At which point after this patch we'll still be reading a QPointer in deleted 
memory, as that ManagedTextureNode is our m_node.

REPOSITORY
  R296 KDeclarative

REVISION DETAIL
  https://phabricator.kde.org/D10250

To: mart, #plasma, davidedmundson
Cc: davidedmundson, broulik, ngraham, plasma-devel, #frameworks, michaelh, 
ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, 
apol, mart

Reply via email to