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


Reply via email to