Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-66434

qml segmentation fault after double click

    XMLWordPrintable

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

      Attachments

        1. _opt_qt59_bin_qmlscene.1000.crash
          3.37 MB
        2. main.qml
          2 kB
        3. MainWindow.qml
          1 kB
        4. qtbug66434.zip
          3 kB
        5. SelectMethod.qml
          0.5 kB
        6. stack
          2 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            noamraph noamraph
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes