Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.9.3, 5.9.4
-
Ubuntu 16.04, 64-bit.
Qt 5.9.4 installed from ppa:beineri/opt-qt594-xenial
All packages have version: 5.9.4-1basyskom1
Description
Double-click on a button that causes a screen transition and is also animated causes a segmentation fault.
To reproduce: run the attached project, or put the files main.qml, MainWindow.qml, SelectMethod.qml in a directory. Run:
/opt/qt59/bin/qmlscene main.qml
A window with a big button opens. Now we should simulate quick double-click on it. After several times I get a segmentation fault. To simulate the double-click, I run this:
import time, subprocess, psutil
pid, = [p.pid for p in psutil.process_iter() if p.name() == 'qmlscene']
for i in range(100):
print i
if not psutil.pid_exists(pid):
break
subprocess.check_call('xdotool mousemove 200 200'.split())
subprocess.check_call('xdotool click --repeat 2 1'.split())
time.sleep(.5)
After about 10 times, I get a segmentation fault.
This looks like the same bug as https://forum.qt.io/topic/79836/qt-application-crash
Stack trace:
1 __GI_raise raise.c 54 0x7ffff64a0428 2 __GI_abort abort.c 89 0x7ffff64a202a 3 qt_message_fatal qlogging.cpp 1792 0x7ffff6e6a5f8 4 QMessageLogger::fatal qlogging.cpp 830 0x7ffff6e6b3a0 5 qt_assert qglobal.cpp 3180 0x7ffff6e63fbb 6 QQmlData::get qqmldata_p.h 244 0x7ffff757b49b 7 QV4::QObjectWrapper::wrap_slowPath qv4qobjectwrapper.cpp 574 0x7ffff7574960 8 QV4::QObjectWrapper::wrap qv4qobjectwrapper_p.h 219 0x7ffff74ad983 9 loadProperty qv4qobjectwrapper.cpp 131 0x7ffff7574d52 10 QV4::QObjectWrapper::getProperty qv4qobjectwrapper.cpp 262 0x7ffff757593c 11 QV4::QObjectWrapper::getQmlProperty qv4qobjectwrapper.cpp 327 0x7ffff757642f 12 QV4::QObjectWrapper::get qv4qobjectwrapper.cpp 686 0x7ffff75764a0 13 QV4::Object::get qv4object_p.h 364 0x7ffff759d6a5 14 QV4::Runtime::method_loadProperty qv4runtime.cpp 728 0x7ffff759d6a5 15 QV4::Moth::VME::exec qv4vme_moth.cpp 720 0x7ffff758a5b2 16 QV4::Moth::VME::exec qv4vme_moth_p.h 72 0x7ffff765b902 17 QV4::Function::call qv4function_p.h 72 0x7ffff765b902 18 QQmlJavaScriptExpression::evaluate qqmljavascriptexpression.cpp 229 0x7ffff765b902 19 QQmlBoundSignalExpression::evaluate qqmlboundsignal.cpp 225 0x7ffff75e54b8 20 QQmlBoundSignal_callback qqmlboundsignal.cpp 358 0x7ffff75e6319 21 QQmlNotifier::emitNotify qqmlnotifier.cpp 106 0x7ffff762e998 22 QQmlData::signalEmitted qqmlengine.cpp 856 0x7ffff75c02a0 23 QMetaObject::activate qobject.cpp 3647 0x7ffff707c28d 24 QMetaObject::activate qobject.cpp 3631 0x7ffff707cbbb 25 QQuickAbstractAnimation::stopped moc_qquickanimation_p.cpp 304 0x7fffe9effabe 26 QQuickAbstractAnimation::setRunning qquickanimation.cpp 291 0x7fffe9f04698 27 QQuickAbstractAnimationPrivate::animationFinished qquickanimation.cpp 652 0x7fffe9f047a0 28 QAbstractAnimationJob::finished qabstractanimationjob.cpp 588 0x7ffff769d6dd 29 QAbstractAnimationJob::setState qabstractanimationjob.cpp 394 0x7ffff769e2b8 30 QAbstractAnimationJob::stop qabstractanimationjob.cpp 531 0x7ffff769e34c 31 QAbstractAnimationJob::setCurrentTime qabstractanimationjob.cpp 503 0x7ffff769e551 32 QQmlAnimationTimer::updateAnimationsTime qabstractanimationjob.cpp 116 0x7ffff769e645 33 QUnifiedTimer::updateAnimationTimers qabstractanimation.cpp 333 0x7ffff6e55474 34 QAnimationDriver::advanceAnimation qabstractanimation.cpp 831 0x7ffff6e55e22 35 QAnimationDriver::advance qabstractanimation.cpp 844 0x7ffff6e55e42 36 QDefaultAnimationDriver::timerEvent qabstractanimation.cpp 943 0x7ffff6e54a30 37 QObject::event qobject.cpp 1230 0x7ffff707cfe3 38 QCoreApplicationPrivate::notify_helper qcoreapplication.cpp 1216 0x7ffff704b77f 39 doNotify qcoreapplication.cpp 1157 0x7ffff704b80d 40 QCoreApplication::notify qcoreapplication.cpp 1143 0x7ffff704b981 41 QGuiApplication::notify qguiapplication.cpp 1723 0x7ffff79297a4 42 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1067 0x7ffff704b8d6 43 QCoreApplication::sendEvent qcoreapplication.h 234 0x7ffff70a78d4 44 QTimerInfoList::activateTimers qtimerinfo_unix.cpp 643 0x7ffff70a78d4 45 timerSourceDispatch qeventdispatcher_glib.cpp 182 0x7ffff70a8109 46 g_main_context_dispatch 0x7ffff49eb197 47 ?? 0x7ffff49eb3f0 48 g_main_context_iteration 0x7ffff49eb49c 49 QEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 423 0x7ffff70a84f5 50 QPAEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 69 0x7ffff7f173fd 51 QEventLoop::processEvents qeventloop.cpp 136 0x7ffff70497bb 52 QEventLoop::exec qeventloop.cpp 214 0x7ffff7049c34 53 QCoreApplication::exec qcoreapplication.cpp 1355 0x7ffff70538bc 54 QGuiApplication::exec qguiapplication.cpp 1714 0x7ffff7924390 55 main main.cpp 17 0x40108e
Thanks,
Noam