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

QSerialPort occassionaly fails to read high speed data from VCP and will hang



    • Type: Bug
    • Status: Closed
    • Priority: P3: Somewhat important
    • Resolution: Done
    • Affects Version/s: 5.10.1
    • Fix Version/s: 5.11.0
    • Component/s: Serial Port
    • Labels:
    • Environment:
      Windows 10 Home Version 1709
      Qt 5.10.1 (MinGW_530_32)
      Microsoft Serial Driver version 10.0.16299.15 (also present with ST VCP Driver)


      I am using a device transmitting at 600Hz to a Windows 10 computer. The problem is QSerialPort has random timeout's where waitForReadyRead(1000) returns false or waitForReadyRead(-1) will hang forever.

      This problem can be reproduced on the Qt Terminal Example ([QT_INSTALL_EXAMPLES]/serialport/terminal) which uses the ReadyRead() signal, the signal will simply never be fired in some cases when the port is opened and application waits forever. I am unable to reproduce the problem with other Window's Terminal programs eg. HTerm, RealTerm. 

      I am using the Windows built in driver as recommended by ST on their website

      Using Serial Port Monitor on the Qt terminal example when the program hangs I have this output: pastebin

      Output from a test program (program included in link) gives this behaviour: pastebin


        1. HTerm.html
          356 kB
        2. QSerialPort Hanging.html
          26 kB
        3. SerialReader.zip
          3 kB
        For Gerrit Dashboard: QTBUG-67224
        # Subject Branch Project Status CR V



            • Assignee:
              kuzulis Denis Shienkov
              bongani Bongani Ncube
            • Votes:
              0 Vote for this issue
              3 Start watching this issue


              • Created:

                Gerrit Reviews

                There are no open Gerrit changes