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

Crash when calling QQmlEngine::retranslate

    XMLWordPrintable

    Details

    • Platform/s:
      Linux/X11, macOS, Windows
    • Commits:
      0d8879323c234d06b82905d13bcc4ee193daeb61, f51231164e7074bfcd4deea31e82428b31483e53, 0118a2d6b6347a444fef2b80a170caa606b669d2 45c34bdda6 (qt/tqtc-qtdeclarative/5.15)

      Description

      The application crashes with the following stack trace.

      1  QV4::QObjectWrapper::getProperty(QV4::ExecutionEngine *, QObject *, QQmlPropertyData *)                                                                                   (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100e5adb0    
      2  None                                                                                                                                                                      No value                                                                                                                0x107bd8680    
      3  QV4::QObjectWrapper::getQmlProperty(QV4::ExecutionEngine *, QQmlContextData *, QObject *, QV4::String *, QV4::QObjectWrapper::RevisionMode, bool *, QQmlPropertyData * *) (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100e5bfa7    
      4  QV4::QQmlTypeWrapper::virtualGet(QV4::Managed const *, QV4::PropertyKey, QV4::Value const *, bool *)                                                                      (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100fb3851    
      5  QV4::Lookup::getterFallback(QV4::Lookup *, QV4::ExecutionEngine *, QV4::Value const&)                                                                                     (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100dfbf11    
      6  QV4::Moth::VME::interpret(QV4::CppStackFrame *, QV4::ExecutionEngine *, const char *)                                                                                     (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100e7a3d6    
      7  QV4::Moth::VME::exec(QV4::CppStackFrame *, QV4::ExecutionEngine *)                                                                                                        (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100e799f2    
      8  QV4::Function::call(QV4::Value const *, QV4::Value const *, int, QV4::ExecutionContext const *)                                                                           (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100e1fec5    
      9  QQmlJavaScriptExpression::evaluate(QV4::CallData *, bool *)                                                                                                               (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100fa40de    
      10 QQmlNonbindingBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&)                                         (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100fac11e    
      11 QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>)                                                                                                                  (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100faa200    
      12 QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression *)                                                                                                  (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100f57645    
      13 QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression *)                                                                                                  (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100f57632    
      14 QQmlContextData::refreshExpressions()                                                                                                                                     (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100f55ef9    
      15 QQmlEngine::retranslate()                                                                                                                                                 (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100f3c7b8    
      16 Translator::retranslate()                                                                                                                                                 translator.cpp                                                                                                      41  0x100005efc    
      17 Translator::qt_static_metacall(QObject *, QMetaObject::Call, int, void * *)                                                                                               moc_translator.cpp                                                                                                  88  0x1000068c6    
      18 Translator::qt_metacall(QMetaObject::Call, int, void * *)                                                                                                                 moc_translator.cpp                                                                                                  147 0x100006bd5    
      19 CallMethod(QQmlObjectOrGadget const&, int, int, int, int *, QV4::ExecutionEngine *, QV4::CallData *, QMetaObject::Call)                                                   (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100e63595    
      20 CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine *, QV4::CallData *, QMetaObject::Call)                                               (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100e60b62    
      21 QV4::QObjectMethod::callInternal(QV4::Value const *, QV4::Value const *, int) const                                                                                       (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100e604da    
      22 QV4::Moth::VME::interpret(QV4::CppStackFrame *, QV4::ExecutionEngine *, const char *)                                                                                     (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100e7ac85    
      23 QV4::Moth::VME::exec(QV4::CppStackFrame *, QV4::ExecutionEngine *)                                                                                                        (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100e799f2    
      24 QV4::Function::call(QV4::Value const *, QV4::Value const *, int, QV4::ExecutionContext const *)                                                                           (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100e1fec5    
      25 QQmlJavaScriptExpression::evaluate(QV4::CallData *, bool *)                                                                                                               (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100fa40de    
      26 QQmlBoundSignalExpression::evaluate(void * *)                                                                                                                             (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100f5a396    
      27 QQmlBoundSignal_callback(QQmlNotifierEndpoint *, void * *)                                                                                                                (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100f5ab6b    
      28 QQmlNotifier::emitNotify(QQmlNotifierEndpoint *, void * *)                                                                                                                (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x100f893b5    
      29 void doActivate<false>(QObject *, int, void * *)                                                                                                                          (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtCore.framework/Versions/5/QtCore                                        0x1015d3f08    
      30 QQmlTimer::event(QEvent *)                                                                                                                                                (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtQml.framework/Versions/5/QtQml                                          0x101003ae7    
      31 QCoreApplicationPrivate::notify_helper(QObject *, QEvent *)                                                                                                               (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtCore.framework/Versions/5/QtCore                                        0x1015a1138    
      32 QCoreApplication::notifyInternal2(QObject *, QEvent *)                                                                                                                    (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtCore.framework/Versions/5/QtCore                                        0x1015a0d94    
      33 QCoreApplicationPrivate::sendPostedEvents(QObject *, int, QThreadData *)                                                                                                  (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtCore.framework/Versions/5/QtCore                                        0x1015a20d9    
      34 QCocoaEventDispatcherPrivate::processPostedEvents()                                                                                                                       (x86_64) /Users/Qt/5.15.0/clang_64/plugins/platforms/libqcocoa.dylib                                             0x10641fdf9    
      35 QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void *)                                                                                                          (x86_64) /Users/Qt/5.15.0/clang_64/plugins/platforms/libqcocoa.dylib                                             0x106420568    
      36 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__                                                                                                                (x86_64h) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation                                 0x7fff3bcd7de3 
      37 __CFRunLoopDoSource0                                                                                                                                                      (x86_64h) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation                                 0x7fff3bcd7d89 
      38 __CFRunLoopDoSources0                                                                                                                                                     (x86_64h) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation                                 0x7fff3bcbb74b 
      39 __CFRunLoopRun                                                                                                                                                            (x86_64h) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation                                 0x7fff3bcbad15 
      40 CFRunLoopRunSpecific                                                                                                                                                      (x86_64h) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation                                 0x7fff3bcba61e 
      41 RunCurrentEventLoopInMode                                                                                                                                                 (x86_64) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox     0x7fff3af191ab 
      42 ReceiveNextEventCommon                                                                                                                                                    (x86_64) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox     0x7fff3af18ee5 
      43 _BlockUntilNextEventMatchingListInModeWithFilter                                                                                                                          (x86_64) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox     0x7fff3af18c76 
      44 _DPSNextEvent                                                                                                                                                             (x86_64) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit                                                  0x7fff392b177d 
      45 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]                                                                                           (x86_64) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit                                                  0x7fff392b046b 
      46 -[NSApplication run]                                                                                                                                                      (x86_64) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit                                                  0x7fff392aa588 
      47 QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)                                                                                               (x86_64) /Users/Qt/5.15.0/clang_64/plugins/platforms/libqcocoa.dylib                                             0x10641f1cf    
      48 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)                                                                                                                   (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtCore.framework/Versions/5/QtCore                                        0x10159ce3f    
      49 QCoreApplication::exec()                                                                                                                                                  (x86_64) /Users/Qt/5.15.0/clang_64/lib/QtCore.framework/Versions/5/QtCore                                        0x1015a13a2    
      50 main                                                                                                                                                                      main.cpp                                                                                                            20  0x1000054e1    
      51 start                                                                                                                                                                     (x86_64) /usr/lib/system/libdyld.dylib                                                                                  0x7fff67c363d5 
      
      
      

      How to reproduce :
      1. Run the attached sample code (qtbu84196.zip).
      2. Press "Push" button multiple times.

      Some times, it happens very soon, sometimes after multiple times of click.

        Attachments

        1. qtbug84196.zip
          1.44 MB
        2. sanitizer_output.txt
          10 kB
        3. gdb-backtrace
          8 kB
        4. qtbug84196-cmake.zip
          5 kB
        5. qtbug84196-cmake-v2.zip
          4 kB

          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              Assignee:
              ulherman Ulf Hermann
              Reporter:
              nagrohn Nahomi Gröhn
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews