Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
4.8.x, 5.0.0 Beta 1, 5.5.0 Beta
-
None
-
Windows 7, 32 bit, 4 cores, 4GB RAM, running in VMWare.
Description
The tst_networkselftest::ftpProxyServer test case is failing constantly in Digia hosted Qt-Project CI system, especially on Windows machines. The test case always fails on the step 32 as follows:
14:39:52 QDEBUG : tst_NetworkSelfTest::ftpProxyServer() 31 Sending "QUIT\r\n" 14:39:52 QDEBUG : tst_NetworkSelfTest::ftpProxyServer() 32 Expecting "221" 14:39:52 FAIL! : tst_NetworkSelfTest::ftpProxyServer() Failed to receive data in step 32: timeout 14:39:52 tst_networkselftest.cpp(231) : failure location
Windows machines in CI infra are VMWare virtual machines with 32-bit Windows 7. The machine have 4 virtual cores and 4GB RAM. We have tried with different VMWare network adapters, but regardless of used network adapter the ftpProxyServer test case fails about 9 times out of 10 attempts.
Attached is Wireshark trace from Windows machine running the ftpProxyServer test case. The log have first entries from successful execution (packets 1-30), and then from failing execution (packets 31-60). As one case see from traces, the test machine receives the correct ftpChat sequence with both runs:
220 Frox transparent ftp proxy. Login with username[@host[:port]] USER anonymous@qt-test-server.qt-test-net 331 Please specify the password. PASS user@hostname 230 Login successful. CWD pub 250 Directory successfully changed. CWD dir-not-readable 550 Failed to change directory. PWD 257 "/pub" SIZE file-not-readable.txt 213 41 CWD qxmlquery 250 Directory successfully changed. CWD /qtest 250 Directory successfully changed. SIZE bigfile 213 519240 SIZE rfc3252 213 25962 SIZE rfc3252.txt 213 25962 QUIT 221 Goodbye.
However for some unknown reason the "221 Goodbye" packet is lost most of the time, and instead connection reset is received without data. When the test case fails, the network debug output is as follows:
QDEBUG : tst_NetworkSelfTest::ftpProxyServer() 32 Expecting "221" QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QAbstractSocket::bytesAvailable() == 0 QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QAbstractSocket::waitForReadyRead(4000) QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QAbstractSocketPrivate::canReadNotification() QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QAbstractSocketPrivate::readFromSocket() about to read 4096 bytes QDEBUG : tst_NetworkSelfTest::ftpProxyServer() WSA error : WSAECONNRESET QSYSTEM: tst_NetworkSelfTest::ftpProxyServer() more details (An existing connection was forcibly closed by the remote host.) QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QNativeSocketEnginePrivate::nativeRead(0x113ef98 "", 4096) == 0 QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QNativeSocketEnginePrivate::nativeClose() QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QAbstractSocketPrivate::readFromSocket() got -1 bytes, buffer size = 0 QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QAbstractSocketPrivate::readFromSocket() read failed: The remote host closed the connection QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QAbstractSocketPrivate::resetSocketLayer() QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QAbstractSocketPrivate::canReadNotification() disconnecting socket QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QAbstractSocket::disconnectFromHost() QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QAbstractSocket::disconnectFromHost() emits stateChanged()(ClosingState) QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QAbstractSocket::disconnectFromHost() disconnecting immediately QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QAbstractSocketPrivate::resetSocketLayer() QDEBUG : tst_NetworkSelfTest::ftpProxyServer() QAbstractSocket::disconnectFromHost() disconnected! FAIL! : tst_NetworkSelfTest::ftpProxyServer() Failed to receive data in step 32: timeout tst_networkselftest.cpp(231) : failure location
The complete debug output from testrun attached
Attachments
Gerrit Reviews
For Gerrit Dashboard: QTBUG-27571 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
39979,1 | test: Mark tst_networkselftest as insignificant only on Windows | 4.8 | qt/qt | Status: MERGED | +2 | 0 |
110709,2 | Tests: Use blacklist for tst_NetworkSelfTest::ftpProxyServer() | 5.5 | qt/qtbase | Status: MERGED | +2 | 0 |
115417,2 | Tests: Blacklist part of tst_networkselftest | dev | qt/qtbase | Status: ABANDONED | +2 | 0 |