Hello, We're using libcurl in the AWS C++ SDK following the guidelines in the documentation when it comes to timeouts. https://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT_MS.html. Namely, setting the timeout to 0 and relying on the low-speed-time and low-speed-limit options to determine if a connection has stalled. See https://github.com/aws/aws-sdk-cpp/blob/master/aws-cpp-sdk-core/source/http/curl/CurlHandleContainer.cpp#L118. However, we're encountering a problem (that happens 50-ish% of the time) when the connection is lost; we see libcurl stuck with the following stack trace:
poll 0x00007f2441f4e74d <unknown> 0x00007f243fccff03 curl_multi_wait 0x00007f243fccab93 curl_easy_perform 0x00007f243fcc39e7 If I set CURLOPT_TIMEOUT_MS to something else (e.g. 1000) then the problem goes away, no hangs. FWIW, my colleagues and I could not reproduce the problem on MacOS, but we're able to reproduce it consistently (again happens about half of the time) when we try on Linux by simply turning off during a transfer. So, is this a bug? What is your guidance otherwise? $ curl --version curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3 Release-Date: 2018-01-24 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL Thank you, Marco ------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html