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

QProcess related crash (purely on Windows)

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Not Evaluated
    • Resolution: Done
    • Affects Version/s: 6.2.0 Beta4
    • Fix Version/s: 6.2.0, 6.2.1, 6.3.0 Alpha
    • Component/s: Core: I/O
    • Labels:
      None
    • Platform/s:
      Windows
    • Commits:
      4e0082a9cacfdfd0c43e6105274bc0d41dd18801 (qt/qtbase/dev) 197f6ab7312551907c0e4ba522a28a9d56cd9acf (qt/qtbase/6.2) c5a79d6dbc563719cfc71a2169cfa01156e10307 (qt/qtbase/6.1) a1f6721fc8874d0c15b723db9908d090cd422585 (qt/qtbase/6.2.0)

      Description

      We use QProcess heavily in a multi-threaded application.

      So far we use Qt 6.1.

      With that version, our integration tests work fine (since months) on Linux + macOs (x86 + ARM) + Windows.

      We now tried the current state of Qt 6.2.

      There we directly run into crashes on Windows, unfortunately random without any small example to reproduce.

      It always ends up in something QWinEventNotifier related like:

      0x00007FFC696A298C (0x00000287C3687720 0x00007FFC4B3A4246 0x00000287C35F30E0 0x0000009BC3D6C4E0), TpPostWork() + 0xCC bytes(s)
      0x00007FFC696A2047 (0x0000000000000050 0x00000000000004C4 0x0000000000000000 0x0000009BC3D6C3A8), TpIsTimerSet() + 0x47 bytes(s)
      0x00007FFC696A1D95 (0x00000287C35F30E0 0x00000287C3CACB10 0x0000009BC3D6C4E0 0x00000287C34988B0), TpSetWaitEx() + 0x35 bytes(s)
      0x00007FFC4B58CE6C (0x00000287C2895350 0x00000287C2895350 0x0000000000000001 0x00000287C3687720), ?event@QWinEventNotifier@@MEAA_NPEAVQEvent@@@Z() + 0x8C bytes(s)
      0x00007FFC4B43A307 (0x00000287C2895350 0x00000287C34988B0 0x00000287C3498930 0x0000000000000001), ?notify@QCoreApplication@@UEAA_NPEAVQObject@@PEAVQEvent@@@Z() + 0x67 bytes(s)
      0x00007FFC4B43A3D5 (0x00000287C28DCE20 0x0000009BC3D6C649 0x00000287C2895350 0x0000000000000000), ?notifyInternal2@QCoreApplication@@CA_NPEAVQObject@@PEAVQEvent@@@Z() + 0xC5 bytes(s)
      0x00007FFC4B43C777 (0x0000000000000024 0x0000009B00000000 0x0000000000000024 0x00000287C34988B0), ?sendPostedEvents@QCoreApplicationPrivate@@SAXPEAVQObject@@HPEAVQThreadData@@@Z() + 0x227 bytes(s)
      0x00007FFC4B588BF2 (0x0000000000000000 0x0000000000000000 0x00000287C28DDE60 0x00000287C28F9260), ?processEvents@QEventDispatcherWin32@@UEAA_NV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z() + 0x72 bytes(s)
      0x00007FFC4B43F07F (0x0000009BC3D6F8A0 0x0000000000000000 0x0000000000000000 0x0000009BC3D6F969), ?exec@QEventLoop@@QEAAHV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z() + 0x19F bytes(s)
      0x00007FFC4B43849C (0x00000287C28F8F00 0x00007FF617A542F0 0x00007FF617A542F0 0x00000287C28DE010), ?exec@QCoreApplication@@SAHXZ() + 0x15C bytes(s)
      0x00007FF617D85F6B (0x00000287C28D8E50 0x00007FF617DFA300 0x000000000000000C 0x00000287C28AA930), ?run@QtServiceBasePrivate@@QEAAH_NAEBV?$QList@VQString@@@@@Z() + 0x44B bytes(s)
      0x00007FF617D85420 (0x00000287C28AAD30 0x000000000000000D 0x00000287C28F9990 0x0000000000000000), ?exec@QtServiceBase@@QEAAHXZ() + 0x8D0 bytes(s)
      0x00007FF6179A5A01 (0x0000000000000000 0x0000000000000000 0x00000287C28F9990 0x00000287C28DC2D0), main() + 0x2A1 bytes(s)
      0x00007FF617DA78E7 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), WinMain() + 0x157 bytes(s)
      0x00007FF617DA6786 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), __scrt_common_main_seh() + 0x106 bytes(s), d:\a01\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, line 288 + 0x21 byte(s)
      0x00007FFC694A7034 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), BaseThreadInitThunk() + 0x14 bytes(s)
      0x00007FFC696E2651 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s)
      

      I am not sure this is helpful enough, if you think that is useless information, feel free to close this again. I looked a bit at the diffs between our 6.1 and 6.2 and did see that there were win event notifier & QProcess related changes, not that I would be able to tell that any of them look fishy.

        Attachments

        For Gerrit Dashboard: QTBUG-96359
        # Subject Branch Project Status CR V

          Activity

            People

            Assignee:
            alex1973tr Alex Trotsenko
            Reporter:
            cullmann Christoph Cullmann
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes