From 835d83b134c9cf2ff9553c5dbc65901ea3b33f05 Mon Sep 17 00:00:00 2001 From: Ryan Chu Date: Thu, 21 Mar 2019 14:37:45 +0100 Subject: [PATCH] Fix the timing issue of QFtp tests when using Docker servers Sometimes, it fails in tst_QFtp::proxy or tst_QFtp::activeMode under the stress test. It complains about "Network operation timed out" on vsftpd.test-net.qt.local. When this issue happens in tst_QFtp::proxy, it shows "USER-ERR reject: 172.18.0.5 (ForkLimit 40)" in the log of ftp-proxy. By default, the ftp-proxy only supports 40 incoming client connections per minute. To make the ftp-proxy more powerful, this change extends the limits from 40 to 2000. When this issue happens in tst_QFtp:activeMode, vsftpd shows 426 Failure writing network stream error. It is a known issue of vsftpd. A quick fix is turning use_sendfile off. Change-Id: Iad50469654041bf30f92ef00805034f0d4aa9c3f Reviewed-by: Edward Welbourne Reviewed-by: Timur Pocheptsov Reviewed-by: Qt CI Bot Reviewed-by: Volker Hilsheimer --- tests/testserver/ftp-proxy/ftp-proxy.sh | 4 +++- tests/testserver/vsftpd/testdata/vsftpd.conf | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/testserver/ftp-proxy/ftp-proxy.sh b/tests/testserver/ftp-proxy/ftp-proxy.sh index 087a7b7bcc1..e5b9631bbbf 100755 --- a/tests/testserver/ftp-proxy/ftp-proxy.sh +++ b/tests/testserver/ftp-proxy/ftp-proxy.sh @@ -34,7 +34,9 @@ set -ex # package ftp-proxy # install configurations and test data -sed -i 's/# AllowMagicUser\tno/AllowMagicUser\tyes/' /etc/proxy-suite/ftp-proxy.conf +sed -i -e 's/# AllowMagicUser\tno/AllowMagicUser\tyes/' \ + -e 's/# ForkLimit\t\t40/ForkLimit\t\t2000/' \ + /etc/proxy-suite/ftp-proxy.conf # enable service with installed configurations ftp-proxy -d diff --git a/tests/testserver/vsftpd/testdata/vsftpd.conf b/tests/testserver/vsftpd/testdata/vsftpd.conf index 6bdb186c9fc..e67cccefcc2 100644 --- a/tests/testserver/vsftpd/testdata/vsftpd.conf +++ b/tests/testserver/vsftpd/testdata/vsftpd.conf @@ -101,6 +101,10 @@ userlist_enable=YES listen=YES tcp_wrappers=YES +# An internal setting used for testing the relative benefit of using the +# sendfile() system call on your platform. +use_sendfile=NO + # Enabling SFTP #ssl_enable=YES #allow_anon_ssl=YES