Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.12.3
-
None
Description
[SOFTWARE VERSION]
target platform: desktop Ubuntu 16.04.5 LTS
valgrind version: valgrind-3.15.0
[PRECONDITIONS]
valgrind --undef-value-errors=no --error-limit=no ...
[VALGRIND OUTPUT]
==18461== Invalid write of size 4
==18461== at 0x5D7B11A: QQuickItemViewTransitionableItem::clearCurrentScheduledTransition() (qquickitemviewtransition.cpp:552)
==18461== by 0x5D7CBD6: QQuickItemViewTransitionableItem::startTransition(QQuickItemViewTransitioner*, int) (qquickitemviewtransition.cpp:510)
==18461== by 0x69488331: QQuickStackElement::startTransition(QQuickItemViewTransitioner*, QQuickStackView::Status) (qquickstackelement.cpp:311)
==18461== by 0x6948F6A2: QQuickStackViewPrivate::startTransition(QQuickStackTransition const&, QQuickStackTransition const&, bool) (qquickstackview_p.cpp:233)
==18461== by 0x6948D91B: QQuickStackView::pop(QQmlV4Function*) (qquickstackview.cpp:674)
==18461== by 0x694B28FD: QQuickStackView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_qquickstackview_p.cpp:282)
==18461== by 0x694B2FCE: QQuickStackView::qt_metacall(QMetaObject::Call, int, void**) (moc_qquickstackview_p.cpp:454)
==18461== by 0x6247AB8: QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) (qqmlvmemetaobject.cpp:981)
==18461== by 0x6FE0A7E: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:301)
==18461== by 0x62A6592: QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const (qqmlpropertycache.cpp:1761)
==18461== by 0x616F484: QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const (qv4qobjectwrapper.cpp:2046)
==18461== by 0x616F51A: QV4::QObjectMethod::virtualCall(QV4::FunctionObject const*, QV4::Value const*, QV4::Value const*, int) (qv4qobjectwrapper.cpp:1989)
==18461== Address 0x8aac43b8 is 72 bytes inside a block of size 168 free'd
==18461== at 0x4C2F602: operator delete(void*, unsigned long) (vg_replace_malloc.c:595)
==18461== by 0x694885A5: QQuickStackElement::~QQuickStackElement() (qquickstackelement.cpp:112)
==18461== by 0x6948E21A: void qDeleteAll<QList<QQuickStackElement*>::const_iterator>(QList<QQuickStackElement*>::const_iterator, QList<QQuickStackElement*>::const_iterator) (qalgorithms.h:320)
==18461== by 0x6949053D: qDeleteAll<QList<QQuickStackElement*> > (qalgorithms.h:328)
==18461== by 0x6949053D: QQuickStackViewPrivate::viewItemTransitionFinished(QQuickItemViewTransitionableItem*) (qquickstackview_p.cpp:282)
==18461== by 0x5D7C45E: QQuickItemViewTransitioner::finishedTransition(QQuickItemViewTransitionJob*, QQuickItemViewTransitionableItem*) (qquickitemviewtransition.cpp:324)
==18461== by 0x5D7CC53: QQuickItemViewTransitionJob::finished() (qquickitemviewtransition.cpp:143)
==18461== by 0x5B75A1C: QQuickTransitionManager::complete() (qquicktransitionmanager.cpp:104)
==18461== by 0x5B82BE3: ParallelAnimationWrapper::updateState(QAbstractAnimationJob::State, QAbstractAnimationJob::State) (qquicktransition.cpp:201)
==18461== by 0x6330453: QAbstractAnimationJob::setState(QAbstractAnimationJob::State) (qabstractanimationjob.cpp:356)
==18461== by 0x633061F: QAbstractAnimationJob::stop() (qabstractanimationjob.cpp:526)
==18461== by 0x6330824: QAbstractAnimationJob::setCurrentTime(int) (qabstractanimationjob.cpp:498)
==18461== by 0x633052D: QAbstractAnimationJob::setState(QAbstractAnimationJob::State) (qabstractanimationjob.cpp:377)
==18461== Block was alloc'd at
==18461== at 0x4C2E4B6: operator new(unsigned long) (vg_replace_malloc.c:344)
==18461== by 0x694889B3: QQuickStackElement::fromObject(QObject*, QQuickStackView*, QString*) (qquickstackelement.cpp:141)
==18461== by 0x6948F4A8: QQuickStackViewPrivate::createElement(QV4::Value const&, QQmlContextData*, QString*) (qquickstackview_p.cpp:166)
==18461== by 0x6948FA93: QQuickStackViewPrivate::parseElements(int, QQmlV4Function*, QStringList*) (qquickstackview_p.cpp:118)
==18461== by 0x6948B1D6: QQuickStackView::push(QQmlV4Function*) (qquickstackview.cpp:546)
==18461== by 0x694B28EC: QQuickStackView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_qquickstackview_p.cpp:281)
==18461== by 0x694B2FCE: QQuickStackView::qt_metacall(QMetaObject::Call, int, void**) (moc_qquickstackview_p.cpp:454)
==18461== by 0x6247AB8: QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) (qqmlvmemetaobject.cpp:981)
==18461== by 0x6FE0A7E: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:301)
==18461== by 0x62A6592: QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const (qqmlpropertycache.cpp:1761)
==18461== by 0x616F484: QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const (qv4qobjectwrapper.cpp:2046)
==18461== by 0x616F51A: QV4::QObjectMethod::virtualCall(QV4::FunctionObject const*, QV4::Value const*, QV4::Value const*, int) (qv4qobjectwrapper.cpp:1989)
==18461==
Attachments
Issue Links
- is duplicated by
-
QTBUG-72881 Setting both pop/push and replace transition results in heap use after free when running in debugger
- Closed
- relates to
-
QTBUG-104386 tst_controls::Basic::StackView::test_requiredProperties() ERROR: AddressSanitizer: heap-use-after-free
- Closed