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

Windows: crash in QProcessPrivate::findExitCode

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.5.0
    • Fix Version/s: 5.6.1
    • Component/s: Core: I/O
    • Labels:
      None
    • Environment:
      Windows 10, VC++ 2015
    • Commits:
      6f75c189e1e5651b716afb316c801d080001c155

      Description

      I already created QTBUG-33731 2 years ago. But this issue is closed after certain fixes... but that don't work fully.

      The bug is easy to understand:

      _q_processDied() is called twice

      1) Once by the signal QWinEventNotifier::activated
      This causes cleanup() to be called, and pid to be set to 0

      Later:

      2) QProcessPrivate::waitForFinished
      _q_processDied is called after if (WaitForSingleObject...

      since pid is 0, the crash occurs in QProcessPrivate::findExitCode

      Q_ASSERT(pid) in triggered in debug mode, and in release mode, you crash.

      I looked at 5.6 alpha code, and don't see anything to solve this.

        Attachments

          Issue Links

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

            Activity

              People

              Assignee:
              jbornema Joerg Bornemann
              Reporter:
              philippe Philippe Goutier
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes