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

QProcess::execute hangs on OS X 10.12.2 built with newest XCode 8.2.1

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • None
    • 5.7.1
    • None
    • macOS

    Description

      Qt 5.7.1 built with Xcode 8.2 had no issues, but after updating the OS to 10.12.2 and XCode to 8.2.1 and rebuilding Qt QProcess::execute often hangs in waitForProcessFinished even though the process it has executed has already finished. Here's the callstack I am seeing here where it has hung and I've paused it:

      1 poll 0x7fffa8ff0232
      2 qt_ppoll(pollfd *, unsigned int, timespec const *) qcore_unix.cpp 83 0x100ee7cfb
      3 qt_safe_poll(pollfd *, unsigned int, timespec const *) qcore_unix.cpp 102 0x100ee7bfe
      4 qt_poll_msecs(pollfd *, unsigned int, int) qcore_unix_p.h 353 0x100e05721
      5 (anonymous namespace)::QProcessPoller::poll(int) qprocess_unix.cpp 164 0x100e05a1e
      6 QProcessPrivate::waitForFinished(int) qprocess_unix.cpp 871 0x100e05db6
      7 QProcess::waitForFinished(int) qprocess.cpp 1922 0x100d9982b
      8 QProcess::execute(QString const&, QStringList const&) qprocess.cpp 2428 0x100d9b44b
      9 MainWindow::on_runTestButton_clicked() mainwindow.cpp 30 0x100007c0c
      10 MainWindow::qt_static_metacall(QObject *, QMetaObject::Call, int, void * *) moc_mainwindow.cpp 71 0x100008ad8
      11 MainWindow::qt_metacall(QMetaObject::Call, int, void * *) moc_mainwindow.cpp 104 0x100008c55
      12 QMetaObject::metacall(QObject *, QMetaObject::Call, int, void * *) qmetaobject.cpp 301 0x100e71b8d
      13 QMetaObject::activate(QObject *, int, int, void * *) qobject.cpp 3755 0x100ead7e0
      14 QMetaObject::activate(QObject *, QMetaObject const *, int, void * *) qobject.cpp 3602 0x100eacb3d
      15 QAbstractButton::clicked(bool) moc_qabstractbutton.cpp 310 0x1001f515b
      16 QAbstractButtonPrivate::emitClicked() qabstractbutton.cpp 411 0x1001f5042
      17 QAbstractButtonPrivate::click() qabstractbutton.cpp 404 0x1001f4eb1
      18 QAbstractButton::mouseReleaseEvent(QMouseEvent *) qabstractbutton.cpp 1009 0x1001f6432
      19 QWidget::event(QEvent *) qwidget.cpp 8785 0x10011727d
      20 QAbstractButton::event(QEvent *) qabstractbutton.cpp 966 0x1001f6213
      ... <More>

      I have attached a small test project that hits the issue here but it doesn't hit the issue every time.

      I am able and willing to test any changes to Qt itself as I am using a 5.7.1 release built locally.

      thanks,
      Jeremy

      Attachments

        1. qprocesstest.zip
          5 kB
          Jeremy Whiting
        2. dtrusslog.txt
          1.43 MB
          Jeremy Whiting
        3. dtrusslog.txt
          1.68 MB
          Jeremy Whiting
        4. dtrusslog.txt
          1.43 MB
          Jeremy Whiting
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            vestbo Tor Arne Vestbø
            jpwhiting Jeremy Whiting
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes