Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.12.5
-
None
-
Windows 10, 1903
Description
There seems to be a regression in QSerialPort from Version 5.12.4 to 5.12.5. I'm not receiving any data from QSerialPort, QSerialPort::readyRead is never emitted. Data written to QSerialPort does arrive at the device though.
The regression is confirmed by the auto test in qtserialport/tests/auto/qserialport/qserialport.pro using two virtual ports set up with com0com. Tests with Qt 5.12.4 are a pass, several tests with 5.12.5 are failing with "Timed out when waiting for the read or write".
FAIL! : tst_QSerialPort::asynchronousWriteByBytesWritten(BothQueued) '!timeout()' returned FALSE. (Timed out when waiting for the read or write.) ..\TestSerial\tst_qserialport.cpp(877) : failure location FAIL! : tst_QSerialPort::asynchronousWriteByBytesWritten(BothDirect) '!timeout()' returned FALSE. (Timed out when waiting for the read or write.) ..\TestSerial\tst_qserialport.cpp(877) : failure location FAIL! : tst_QSerialPort::asynchronousWriteByBytesWritten(ReadDirectWriteQueued) '!timeout()' returned FALSE. (Timed out when waiting for the read or write.) ..\TestSerial\tst_qserialport.cpp(877) : failure location FAIL! : tst_QSerialPort::asynchronousWriteByBytesWritten(ReadQueuedWriteDirect) '!timeout()' returned FALSE. (Timed out when waiting for the read or write.) ..\TestSerial\tst_qserialport.cpp(877) : failure location FAIL! : tst_QSerialPort::asynchronousWriteByTimer(BothQueued) '!timeout()' returned FALSE. (Timed out when waiting for the read or write.) ..\TestSerial\tst_qserialport.cpp(937) : failure location FAIL! : tst_QSerialPort::asynchronousWriteByTimer(BothDirect) '!timeout()' returned FALSE. (Timed out when waiting for the read or write.) ..\TestSerial\tst_qserialport.cpp(937) : failure location FAIL! : tst_QSerialPort::asynchronousWriteByTimer(ReadDirectWriteQueued) '!timeout()' returned FALSE. (Timed out when waiting for the read or write.) ..\TestSerial\tst_qserialport.cpp(937) : failure location FAIL! : tst_QSerialPort::asynchronousWriteByTimer(ReadQueuedWriteDirect) '!timeout()' returned FALSE. (Timed out when waiting for the read or write.) ..\TestSerial\tst_qserialport.cpp(937) : failure location FAIL! : tst_QSerialPort::asyncReadWithLimitedReadBufferSize() '!timeout()' returned FALSE. (Timed out when waiting for the read or write.) ..\TestSerial\tst_qserialport.cpp(982) : failure location