Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.0.0
-
None
-
Ubuntu
-
b63ce68f316c91b0a3107d3d20e160628f5cefef
Description
- Note: Requires View Transitions gerrit item http://codereview.qt-project.org/#change,15590
- Download attachment
- qmlscene <attachment>
- Select the bottom item
- Press the "To Top" button
The QML has a move PathAnimation with an easing.type: Easing.InOutBack. As the item begins the "In" portion - which overshoots at the start - the appended assert occurs.
This assert does not occur if the (commented out) easing.type: Easing.InOutQuad is used.
If using the easing.type: Easing.OutBack option, the assert does not occur, but the application hangs (I believe looping somewhere in QDeclarativePath::forwardsPointAt / nextBezier)
ASSERT: "!(currElement < firstElement)" in file util/qdeclarativepath.cpp, line 618 Program received signal SIGABRT, Aborted. 0xb7fe3832 in ?? () from /lib/ld-linux.so.2 (gdb) bt #0 0xb7fe3832 in ?? () from /lib/ld-linux.so.2 #1 0xb5b93651 in raise () from /lib/tls/i686/cmov/libc.so.6 #2 0xb5b96a82 in abort () from /lib/tls/i686/cmov/libc.so.6 #3 0xb5f73aa8 in qt_message_output (msgType=QtFatalMsg, context=..., buf=0x82be978 "ASSERT: \"!(currElement < firstElement)\" in file util/qdeclarativepath.cpp, line 618") at global/qlogging.cpp:710 #4 0xb5f715dd in qt_message (msgType=QtFatalMsg, context=..., msg=0xb618afa0 "ASSERT: \"%s\" in file %s, line %d", ap=0xbfffe358 "\030E\351\267\341D\351\267j\002") at global/qlogging.cpp:124 #5 0xb5f717f7 in QMessageLogger::fatal (this=0xbfffe370, msg=0xb618afa0 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:327 #6 0xb5f6cec8 in qt_assert (assertion=0xb7e94518 "!(currElement < firstElement)", file=0xb7e944e1 "util/qdeclarativepath.cpp", line=618) at global/qglobal.cpp:1648 #7 0xb7c24585 in QDeclarativePath::backwardsPointAt (path=..., pathLength=@0x82b22c4, attributePoints=..., prevBez=..., p=-5.1754392810246191e-06, angle=0x0) at util/qdeclarativepath.cpp:618 #8 0xb7c23d18 in QDeclarativePath::sequentialPointAt (path=..., pathLength=@0x82b22c4, attributePoints=..., prevBez=..., p=-5.1754392810246191e-06, angle=0x0) at util/qdeclarativepath.cpp:535 #9 0xb7d8e741 in QQuickPathAnimationUpdater::setValue (this=0x82b2258, v=-5.1754392810246191e-06) at items/qquickanimation.cpp:949 #10 0xb7be2d24 in QDeclarativeBulkValueAnimator::updateCurrentTime (this=0x82b2340, currentTime=1) at util/qdeclarativeanimation.cpp:1827 #11 0xb7a2481a in QAbstractAnimationJob::setCurrentTime (this=0x82b2340, msecs=1) at animations/qabstractanimationjob.cpp:437 #12 0xb7a26d30 in QSequentialAnimationGroupJob::updateCurrentTime (this=0x82b20b0, currentTime=501) at animations/qsequentialanimationgroupjob.cpp:225 #13 0xb7a2481a in QAbstractAnimationJob::setCurrentTime (this=0x82b20b0, msecs=501) at animations/qabstractanimationjob.cpp:437 #14 0xb7a27912 in QParallelAnimationGroupJob::updateCurrentTime (this=0x82bfbd8) at animations/qparallelanimationgroupjob.cpp:114 #15 0xb7a2481a in QAbstractAnimationJob::setCurrentTime (this=0x82bfbd8, msecs=501) at animations/qabstractanimationjob.cpp:437 #16 0xb7a23572 in QDeclarativeAnimationTimer::updateAnimationsTime (this=0x80fde50, delta=1) at animations/qabstractanimationjob.cpp:112 #17 0xb5f5b2d4 in QUnifiedTimer::updateAnimationTimers (this=0x80a43e8, currentTick=-1) at animation/qabstractanimation.cpp:286 #18 0xb5f5d03b in QAnimationDriver::advanceAnimation (this=0x80d76e8, timeStep=-1) at animation/qabstractanimation.cpp:749 #19 0xb5f5d079 in QAnimationDriver::advance (this=0x80d76e8) at animation/qabstractanimation.cpp:762 #20 0xb7dba6eb in QQuickRenderThreadSingleContextWindowManager::event (this=0x80d7258, e=0x82892e0) at items/qquickwindowmanager.cpp:795 #21 0xb691ba48 in QApplicationPrivate::notify_helper (this=0x807a880, receiver=0x80d7258, e=0x82892e0) at kernel/qapplication.cpp:4014 #22 0xb6919291 in QApplication::notify (this=0xbffff258, receiver=0x80d7258, e=0x82892e0) at kernel/qapplication.cpp:3431 #23 0xb60df0c3 in QCoreApplication::notifyInternal (this=0xbffff258, receiver=0x80d7258, event=0x82892e0) at kernel/qcoreapplication.cpp:699 #24 0xb60e2c85 in QCoreApplication::sendEvent (receiver=0x80d7258, event=0x82892e0) at kernel/qcoreapplication.h:209 #25 0xb60e0210 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8079bd8) at kernel/qcoreapplication.cpp:1335 #26 0xb60dfcd1 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1196 #27 0xb613d2e4 in QCoreApplication::sendPostedEvents () at kernel/qcoreapplication.h:214 #28 0xb613b968 in postEventSourceDispatch (s=0x8086110) at kernel/qeventdispatcher_glib.cpp:279 #29 0xb5a8c5e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #30 0xb5a902d8 in ?? () from /lib/libglib-2.0.so.0 #31 0xb5a904b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #32 0xb613c99c in QEventDispatcherGlib::processEvents (this=0x807f2c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #33 0xb60dbeb2 in QEventLoop::processEvents (this=0xbffff1ac, flags=...) at kernel/qeventloop.cpp:135 #34 0xb60dc16f in QEventLoop::exec (this=0xbffff1ac, flags=...) at kernel/qeventloop.cpp:211 #35 0xb60df743 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:951 #36 0xb63fe3b5 in QGuiApplication::exec () at kernel/qguiapplication.cpp:575 #37 0xb6918f14 in QApplication::exec () at kernel/qapplication.cpp:3317 #38 0x0804da7e in main (argc=2, argv=0xbffff3e4) at main.cpp:431