Uploaded image for project: 'Qt for Python'
  1. Qt for Python
  2. PYSIDE-190

Application Deadlocks on exit if pending task in QThreadPool

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Not Evaluated
    • None
    • 1.2.x
    • PySide
    • None
    • 4c5cc426a4841657d25b70df4080c220ed16bb7c

    Description

      The QCoreApplication deadlocks on exit if any pending work involving python is being done in a QRunnable the global QThreadPool.globalInstance().
      This is because destroying the QCoreApplication instance is not done releasing the GIL, causing the QThreadPool.globalInstance().waitForDone() to deadlock because the QRunnable cannot proceed to completion due to the GIL being acquired by the QCoreApplication destructor.

      The attached patch fixes the deadlock by releasing the GIL while calling `delete qapp`

      Attachments

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

        Activity

          People

            Unassigned Unassigned
            pankajp Pankaj Pandey
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes