Web lists-archives.com

Re: Something makes curl hang for 5 minutes after connection refused




On 11/30/18, Basin Ilya  wrote:
> Hi.
>
> Recently I noticed that `curl` does not fail immediately after connection
> refused, but waits for 5 minutes.
>
> This only happens on my machine and only with the `Cygwin` version of
> `curl`. The mingw version is unaffected.
> I tried downgrading curl, but it didn't help. I thought there's a rogue
> setting in `/etc` or in home or maybe some environment variable, but I
> couldn't find it.
>
>     basin@BASIN /cygdrive/c/Users/basin
>     $ >/dev/null /usr/bin/curl -v http://127.0.0.1:2/
>     * STATE: INIT => CONNECT handle 0x80048658; line 1404 (connection
> #-5000)
>     * Added connection 0. The cache now contains 1 members
>     *   Trying 127.0.0.1...
>     * TCP_NODELAY set
>     * STATE: CONNECT => WAITCONNECT handle 0x80048658; line 1456 (connection
> #0)
    <.. snip ..>
>     curl: (28) Connection timed out after 300145 milliseconds
>
>     basin@BASIN /cygdrive/c/Users/basin
>     $ /usr/bin/curl --version
>     curl 7.59.0 (i686-pc-cygwin) libcurl/7.59.0 OpenSSL/1.0.2p zlib/1.2.11
> libidn2/2.0.4 libpsl/0.18.0 (+libidn2/2.0.2) libssh2/1.7.0 nghttp2/1.31.0

> Can someone try to reproduce it?

I get the same behavior:
$ /usr/bin/curl -v http://127.0.0.1:2/
* STATE: INIT => CONNECT handle 0x600057ad0; line 1404 (connection #-5000)
* Added connection 0. The cache now contains 1 members
*   Trying 127.0.0.1...
* TCP_NODELAY set
* STATE: CONNECT => WAITCONNECT handle 0x600057ad0; line 1456 (connection #0)
* Connection timed out after 300324 milliseconds
* multi_done
* stopped the pause stream!
* Closing connection 0
* The cache now contains 0 members
curl: (28) Connection timed out after 300324 milliseconds

$ /usr/bin/curl --version
curl 7.59.0 (x86_64-unknown-cygwin) libcurl/7.59.0 OpenSSL/1.0.2p
zlib/1.2.11 libidn2/2.0.4 libpsl/0.18.0 (+libidn2/2.0.2) libssh2/1.7.0
nghttp2/1.31.0


I also get an almost immediate 'failed to connect' notice on windows:
C:\>C:\UTIL\curl\curl.exe -v http://127.0.0.1:2/
*   Trying 127.0.0.1...
* TCP_NODELAY set
* connect to 127.0.0.1 port 2 failed: Connection refused
* Failed to connect to 127.0.0.1 port 2: Connection refused
* Closing connection 0
curl: (7) Failed to connect to 127.0.0.1 port 2: Connection refused

with either version of curl:
C:\>where curl
C:\UTIL\curl\curl.exe
C:\Windows\System32\curl.exe

Regards,
Lee

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple