D10250: track the validity of the texture
David Edmundson
noreply at phabricator.kde.org
Mon Feb 5 16:10:29 UTC 2018
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20180205/cbf33f11/attachment.html>
More information about the Plasma-devel
mailing list