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

QProcess::waitForFinished() stops working if there is a QWebEngineView

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.4.1, 5.9.0 RC
    • 5.4.0 Beta, 5.9.0 Beta 1
    • WebEngine
    • None
    • Ubuntu 14.04 LTS on AMD64
    • ee7af79a213ea008e8e8bde4a993a92a66b01384

    Description

      The behavior of QProcess::waitForFinished() seems to change when there's a QWebEngineView. The attached example starts a program (/bin/cat) with QProcess, calls QProcess::closeWriteChannel() and then waits for the process to finish using QProcess::waitForFinished().

      If QWebEngineView isn't involved, QProcess::waitForFinished() returns true without noticable delay. If however an otherwise unrelated QWebEngineView is created and provided with a URL (main.cpp:13-14), QProcess::waitForFinished() times out and returns false. During the timeout interval ps shows the started process as <defunct>. Qt prints the following output to the console:

      QProcess: Destroyed while process ("/bin/cat") is still running.
      

      After that, it still takes some time before the program exits.

      Attachments

        1. main.cpp
          0.7 kB
        2. qprocess-bug.pro
          0.2 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            mibrunin Michael Bruning
            jbhuth Jan Budde
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: