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. dtrusslog.txt
          1.43 MB
          Jeremy Whiting
        2. dtrusslog.txt
          1.68 MB
          Jeremy Whiting
        3. dtrusslog.txt
          1.43 MB
          Jeremy Whiting
        4. qprocesstest.zip
          5 kB
          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