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

QTcpSocket blocks receiving when opening native file dialog

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • P3: Somewhat important
    • None
    • 5.9.1
    • Network: Sockets
    • None
    • qt application running on Windows 10.0.15063 Build 15063
    • Windows

    Description

      A QTcpSocket reading from a streaming source may stop reading data up until the operating system socket buffers fill on both parties if the user is opening a native file dialog or using the clipboard within the application. After reading everything from the socket, bytesAvailable() will remain at 0.

      This problems only happens in the following scenario:

      • QTcpSocket is connected to the streaming source (an iOS device) through a proxy (iproxy on macOS)
      • the application opens a native file dialog (or interacts with the system clipboard)

      When opening non-native dialogs (QFileDialog::DontUseNativeDialog) the problem does not occur anymore. Furthermore, if the user is simultaneously holding connected another instance of QTcpSocket to a different device (but with no proxy) the problem ceases. If the second connection is performed while the first socket is 'blocked', this socket will resume normal behaviour.

      This problem does not occur on Linux or when using Winsock API. Disconnecting and reconnecting will solve the problem.

      Attachments

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

        Activity

          People

            manordheim MÃ¥rten Nordheim
            aaetherengine Dinescu Stefan
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes