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

Random crashes on exit in QCoreApplication::translate(read access violation)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 5.11.2, 5.12.2
    • Core: Locales (i18n)
    • None
    • Windows 10 Pro Build 17763
      Windows 10 Home Single Language Build 17134
    • Windows

    Description

      Our users experience nondeterministic crahes while calling QProcess::waitForFinished() in a loop like this:

       

          QProcess::ProcessState state = myProcess.state();
          while (QProcess::ProcessState::Running == state || QProcess::ProcessState::Starting == state) {
              myProcess.waitForFinished(250);
              QCoreApplication::processEvents();
              state = myProcess.state();
          }
      

       

      Here is the call stack:   

       

      > Qt5Core.dll!QTranslatorPrivate::do_translate(const char * context, const char * sourceText, const char * comment, int n) Line 1024 C++
        Qt5Core.dll!QTranslatorPrivate::do_translate(const char * context, const char * sourceText, const char * comment, int n) Line 1024 C++
        Qt5Core.dll!QTranslator::translate(const char * context, const char * sourceText, const char * disambiguation, int n) Line 1130 C++
        Qt5Core.dll!QCoreApplication::translate(const char * context, const char * sourceText, const char * disambiguation, int n) Line 2114 C++
        [Inline Frame] Qt5Core.dll!QMetaObject::tr(const char *) Line 375 C++
        Qt5Core.dll!QProcess::trUtf8(const char * s, const char * c, int n) Line 112 C++
        [Inline Frame] Qt5Core.dll!QProcessPrivate::setError(QProcess::ProcessError) Line 972 C++
        Qt5Core.dll!QProcessPrivate::waitForFinished(int msecs) Line 793 C++
        Qt5Core.dll!QProcess::waitForFinished(int msecs) Line 1919 C++
        Application.exe!Init::runInternal() Line 734 C++
        Application.exe!Init::run() Line 870 C++
        [Inline Frame] Qt5Core.dll!QtPrivate::QSlotObjectBase::call(QObject *) Line 376 C++
        Qt5Core.dll!QMetaObject::activate(QObject * sender, int signalOffset, int local_signal_index, void * * argv) Line 3759 C++
        [Inline Frame] Qt5Core.dll!QMetaObject::activate(QObject *) Line 3633 C++
        [Inline Frame] Qt5Core.dll!QThread::started(QThread::QPrivateSignal _t1) Line 158 C++
        Qt5Core.dll!QThreadPrivate::start(void * arg) Line 378 C++
        kernel32.dll!BaseThreadInitThunk() Unknown  ntdll.dll!RtlUserThreadStart() Unknown
      

       

       

      An exception happens while executing "uint hash = read32(middle);" instruction. Any ideas why this might happen?

       Qt is built using MSVC 2017 x64 as shared library.

      Attachments

        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
            geniuss Hasan
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes