Closed mcgrath-michael closed 3 months ago
Sorry for no reply on this initial issue. But we have made some changes to the CurlHttpClient since this issue was opened. I was unable to reproduce this issue with the current version of this sdk (1.11.367). Can you try updating to latest and see if you have any issues with this sdk?
Greetings! It looks like this issue hasn’t been active in longer than a week. We encourage you to check if this is still an issue in the latest release. Because it has been longer than a week since the last update on this, and in the absence of more information, we will be closing this issue soon. If you find that this is still a problem, please feel free to provide a comment or add an upvote to prevent automatic closure, or if the issue is already closed, please feel free to open a new one.
Describe the bug
Attempts to download from S3 cause a SIGPIPE exception despite
httpOptions.installSigPipeHandler = true
inAws::SDKOptions
passed toInitAPI
. This is similar to issue https://github.com/aws/aws-sdk-cpp/issues/1534 , but we needed to setenableTcpKeepAlive = false
in the S3 Client configuration to prevent the crash from occurring.Expected Behavior
Expected
httpOptions.installSigPipeHandler = true
to be sufficient to prevent crash.Current Behavior
The environment is aws-sdk-cpp 1.9.315 openssl 1.1.1n-0+deb11u3 libcurl4-openssl-dev:amd64 7.74.0-1.3+deb11u1 Debian 11 bullseye
The SIGPIPE exception occurs when an additional download is attempted after the system has been idle for a couple of minutes. The exception occurs during the
CurlHttpClient::MakeRequest
call tocurl_easy_perform
.Logs:
Reproduction Steps
See https://github.com/aws/aws-sdk-cpp/issues/1534 Download a file. Wait a minute. Download another file.
Possible Solution
Setting
enableTcpKeepAlive = false
in the S3 Client configuration prevented the crash from occurring.Additional Information/Context
Build commands: mkdir sdk_build cd sdk_build cmake -S ../aws-sdk-cpp -B . -DCPP_STANDARD=17 -DENABLE_TESTING:BOOL=OFF -DCMAKE_BUILD_TYPE=Debug -DBUILD_ONLY="s3;transfer" cmake --build . sudo cmake --install .
AWS CPP SDK version used
1.9.315
Compiler and Version used
gcc (Debian 10.2.1-6) 10.2.1 20210110
Operating System and version
Debian 11 bullseye docker container running on Ubuntu 20.04