Hi, I have been trying to investigate this issue for some times, but I haven't came out with a nice method.
About the fail of test 546[0]. It's the error output: ``` ... < 150 Binary data connection for 546 () (51 bytes). * Maxdownload = -1 * Getting file with size: 51 * STATE: DOING_MORE => DID handle 0x2001beb4; line 2542 * STATE: DID => PERFORMING handle 0x2001beb4; line 2567 data to lib533.c:96 select() failed, with errno 1073741828 (Interrupted system call) Test ended with result 121 [Inferior 1 (bogus thread id 0) exited with code 0171] ``` To reproduce it: ``` git clone https://github.com/curl/curl.git cd curl ./configure --disable-shared --enable-debug --enable-maintainer-mode --with-openssl make cd tests ./runtests.pl -g 546 continue ``` And I found that if we set a break point on select(), and continue the program manually, the test can pass. That's: ``` ./runtests.pl -g 546 b select <continue until end> ``` Here is the output: ``` < 150 Binary data connection for 546 () (51 bytes). * Maxdownload = -1 * Getting file with size: 51 * STATE: DOING_MORE => DID handle 0x2001beb4; line 2542 * STATE: DID => PERFORMING handle 0x2001beb4; line 2567 data to see that FTP works so does it? * shutdown start on secondary connection * sendrecv_dl: we are done * nread <= 0, server closed connection, bailing * abort upload * STATE: PERFORMING => DONE handle 0x2001beb4; line 2000 * multi_done[DONE]: status: 0 prem: 0 done: 0 * Remembering we are in dir "path/" * Curl_multi_closed, fd=7 multi is 0x20019b84 * Curl_multi_closed, fd=7 entry is (nil) < 226 File transfer complete * Connection #0 to host 127.0.0.1 left intact Test ended with result 0 [Inferior 1 (bogus thread id 0) exited normally] ``` Not sure how to ask the curl maintainers about this quesiton, so I ask at here first :-). [0]:https://github.com/curl/curl/blob/master/tests/libtest/lib533.c (Yes test case 546 uses lib533.c) Best, Zhaoming