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

QNetworkProxyFactory::systemProxyForQuery crash on Mac during PAC detection

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Not Evaluated
    • None
    • 5.8.0
    • Network: Proxies
    • None
    • macOS
    • 20f7cfcbdab795b1730e3d1d14fc3833a7f5e705

    Description

      Hi.

      We recently switched to Qt 5.8.0 and encountered a bug that looks like a replay – or at least relative – of https://bugreports.qt.io/browse/QTBUG-36787 (EDIT: no, it's unrelated)

      Happens on Mac OS Sierra 10.12.3, but not on Mac OS 10.9.

      When the User has set „Auto Proxy Discovery“ in his System settings (see screenshot), a QT app will crash with the following dump:

      {monospaced}
      Thread 27 Crashed:: Background Job Thread
      0 QtNetwork 0x0000000106b16535 0x106a73000 + 668981
      1 com.apple.CFNetwork 0x00007fffca5238a8 PAC::PACClient::invokeClientCallback() + 102
      2 com.apple.CoreFoundation 0x00007fffcb251981 _CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION_ + 17
      3 com.apple.CoreFoundation 0x00007fffcb232a7d __CFRunLoopDoSources0 + 557
      4 com.apple.CoreFoundation 0x00007fffcb231f76 __CFRunLoopRun + 934
      5 com.apple.CoreFoundation 0x00007fffcb231974 CFRunLoopRunSpecific + 420
      6 QtNetwork 0x0000000106b159b5 0x106a73000 + 666037
      7 QtNetwork 0x0000000106b16791 QNetworkProxyFactory::systemProxyForQuery(QNetworkProxyQuery const&) + 17
      8 QtNetwork 0x0000000106b0c9d8 0x106a73000 + 629208
      9 QtNetwork 0x0000000106b0e922 QNetworkProxyFactory::proxyForQuery(QNetworkProxyQuery const&) + 50
      10 QtNetwork 0x0000000106aa364e 0x106a73000 + 198222
      11 QtNetwork 0x0000000106ac1079 0x106a73000 + 319609
      12 QtNetwork 0x0000000106ac6013 0x106a73000 + 339987
      13 QtNetwork 0x0000000106abdb1e 0x106a73000 + 305950
      14 QtNetwork 0x0000000106abd7cb 0x106a73000 + 305099
      15 QtNetwork 0x0000000106aa1fc5 NetworkAccessManager::createRequest(QNetworkAccessManager::Operation,QNetworkRequest const&, QIODevice*) + 1653
      16 libCWNetworking.dylib 0x00000001062cd0ab CWNetworkAccessManager::createRequest(QNetworkAccessManager::Operation,QNetworkRequest const&, QIODevice*) + 1131{monospaced}

      To reproduce, it's sufficient to use the same code as given in the aforementioned Bug.

      #include <QtCore/QUrl>
      #include <QtNetwork/QNetworkProxyFactory>
      main(int argc, char* argv[])

      { QNetworkProxyFactory::systemProxyForQuery(QNetworkProxyQuery(QUrl("http://qt-project.org"))); return 0; }

      Attachments

        Issue Links

          Activity

            People

              tpochep Timur Pocheptsov
              peter_h_bruells Peter Bruells
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: