Skip to content

Segment fault on GetObject #1378

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
lzw06061139 opened this issue May 14, 2020 · 1 comment
Closed

Segment fault on GetObject #1378

lzw06061139 opened this issue May 14, 2020 · 1 comment
Labels
guidance Question that needs advice or information. needs-triage This issue or PR still needs to be triaged.

Comments

@lzw06061139
Copy link

Confirm by changing [ ] to [x] below:

Platform/OS/Hardware/Device
What are you running the sdk on?

we run our backup app on docker on CentOS Linux release 7.6.1810 (Core).
This app uses (AWS SDK for C++ with Version:1.7.314) to put to or get data from object storage system.

Describe the question

GetObject gets random segment fault. it seems caused by memory allocator.

Logs/output
If applicable, add logs or error output.

0 0x00007f6ee4768af2 in _int_malloc () from /usr/lib64/libc.so.6
#1 0x00007f6ee476badc in malloc () from /usr/lib64/libc.so.6
#2 0x00007f6ee6fca529 in void std::vector<std::__cxx11::basic_string<char, std::char_traits, Aws::Allocator<
char> >, Aws::Allocator<std::__cxx11::basic_string<char, std::char_traits, Aws::Allocator > > >::_M_rea
lloc_insert<std::__cxx11::basic_string<char, std::char_traits, Aws::Allocator > >(__gnu_cxx::__normal_i
terator<std::__cxx11::basic_string<char, std::char_traits, Aws::Allocator >*, std::vector<std::__cxx11:
:basic_string<char, std::char_traits, Aws::Allocator >, Aws::Allocator<std::__cxx11::basic_string<char,
std::char_traits, Aws::Allocator > > > >, std::__cxx11::basic_string<char, std::char_traits, Aws
::Allocator >&&) () from /usr/lib64/libaws-cpp-sdk-s3.so
#3 0x00007f6ee69f2f85 in Aws::Utils::StringUtils::Split(std::__cxx11::basic_string<char, std::char_traits, A
ws::Allocator > const&, char, unsigned long, Aws::Utils::StringUtils::SplitOptions) () from /usr/lib64/libaws
-cpp-sdk-core.so
#4 0x00007f6ee69f32d6 in Aws::Utils::StringUtils::Split(std::__cxx11::basic_string<char, std::char_traits, A
ws::Allocator > const&, char, Aws::Utils::StringUtils::SplitOptions) () from /usr/lib64/libaws-cpp-sdk-core.s
o
#5 0x00007f6ee69e7ade in Aws::Utils::ARN::ARN(std::__cxx11::basic_string<char, std::char_traits, Aws::Alloca
tor > const&) () from /usr/lib64/libaws-cpp-sdk-core.so
#6 0x00007f6ee6f2b1e9 in Aws::S3::S3ARN::S3ARN(std::__cxx11::basic_string<char, std::char_traits, Aws::Alloc
ator > const&) () from /usr/lib64/libaws-cpp-sdk-s3.so
#7 0x00007f6ee6f459c5 in Aws::S3::S3Client::ComputeEndpointString(std::__cxx11::basic_string<char, std::char_trait
s, Aws::Allocator > const&) const () from /usr/lib64/libaws-cpp-sdk-s3.so
#8 0x00007f6ee6f5892b in Aws::S3::S3Client::GetObject(Aws::S3::Model::GetObjectRequest const&) const () from /usr/
lib64/libaws-cpp-sdk-s3.so

To enable logging, set the following system properties:

REMEMBER TO SANITIZE YOUR PERSONAL INFO

options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace;
Aws::InitAPI(options)
@lzw06061139 lzw06061139 added guidance Question that needs advice or information. needs-triage This issue or PR still needs to be triaged. labels May 14, 2020
@lzw06061139
Copy link
Author

this is the pstack piece :
#0 0x00007f27e3b7757c in __lll_lock_wait_private () from /usr/lib64/libc.so.6
#1 0x00007f27e3af3af5 in _L_lock_17166 () from /usr/lib64/libc.so.6
#2 0x00007f27e3af0b33 in malloc () from /usr/lib64/libc.so.6
#3 0x00007f27e43e2498 in operator new (sz=513) at ../../../../libstdc++-v3/libsupc++/new_op.cc:50
#4 0x00007f27e924589a in std::__cxx11::basic_string<char, std::char_traits, std::allocator >::reserve (this=this@entry=0x7f27d9885aa0, __res=) at /opt/gnu/gcc-7.5.0/include/c++/7.5.0/bits/basic_string.tcc:293
#5 0x00007f27e446592b in std::__cxx11::basic_stringbuf<char, std::char_traits, std::allocator >::overflow (this=0x7f27d9885bf8, __c=111) at /root/work/gcc-7.5.0/build/x86_64-redhat-linux/libstdc++-v3/include/bits/sstream.tcc:133
#6 0x00007f27e44706a9 in std::basic_streambuf<char, std::char_traits >::xsputn (this=0x7f27d9885bf8, __s=0x7f27e7adb417 "on ", __n=18) at /root/work/gcc-7.5.0/build/x86_64-redhat-linux/libstdc++-v3/include/bits/streambuf.tcc:98
#7 0x00007f27e4460a44 in sputn (__n=18, __s=0x7f27e7adb408 "protector version ", this=) at /root/work/gcc-7.5.0/build/x86_64-redhat-linux/libstdc++-v3/include/streambuf:451
#8 __ostream_write<char, std::char_traits > (__n=18, __s=0x7f27e7adb408 "protector version ", __out=...) at /root/work/gcc-7.5.0/build/x86_64-redhat-linux/libstdc++-v3/include/bits/ostream_insert.h:50
#9 std::__ostream_insert<char, std::char_traits > (__out=..., __s=__s@entry=0x7f27e7adb408 "protector version ", __n=__n@entry=18) at /root/work/gcc-7.5.0/build/x86_64-redhat-linux/libstdc++-v3/include/bits/ostream_insert.h:101
#10 0x00007f27e7aca3e8 in operator<< <std::char_traits > (__s=, __out=...) at /opt/gnu/gcc-7.5.0/include/c++/7.5.0/ostream:561
#11 pretty_version_to_strabi:cxx11 () at /root/chinac/ar-protector-core/src/common/version.cc:24
#12 0x00007f27e7a9944a in protector::BackTrace::print (this=0x7f27d9886020, out=...) at /root/chinac/ar-protector-core/src/common/BackTrace.cc:15
#13 0x00000000004112cb in handle_fatal_signal (signum=11) at /root/chinac/ar-protector-core/src/global/signal_handler.cc:88
#14
#15 0x00007f27e3aec2bf in _int_free () from /usr/lib64/libc.so.6
#16 0x00007f27e264772a in curl_multi_wait () from /usr/lib64/libcurl.so.4
#17 0x00007f27e26407cf in curl_easy_perform () from /usr/lib64/libcurl.so.4
#18 0x00007f27e5d515c8 in Aws::Http::CurlHttpClient::MakeRequestInternal(Aws::Http::HttpRequest&, std::shared_ptrAws::Http::Standard::StandardHttpResponse&, Aws::Utils::RateLimits::RateLimiterInterface*, Aws::Utils::RateLimits::RateLimiterInterface*) const () from /usr/lib64/libaws-cpp-sdk-core.so
#19 0x00007f27e5d53ed9 in Aws::Http::CurlHttpClient::MakeRequest(std::shared_ptrAws::Http::HttpRequest const&, Aws::Utils::RateLimits::RateLimiterInterface*, Aws::Utils::RateLimits::RateLimiterInterface*) const () from /usr/lib64/libaws-cpp-sdk-core.so
#20 0x00007f27e5d20c74 in Aws::Client::AWSClient::AttemptOneRequest(std::shared_ptrAws::Http::HttpRequest const&, Aws::AmazonWebServiceRequest const&, char const*, char const*) const () from /usr/lib64/libaws-cpp-sdk-core.so
#21 0x00007f27e5d211ff in Aws::Client::AWSClient::AttemptExhaustively(Aws::Http::URI const&, Aws::AmazonWebServiceRequest const&, Aws::Http::HttpMethod, char const*, char const*) const () from /usr/lib64/libaws-cpp-sdk-core.so
#22 0x00007f27e5d22f3e in Aws::Client::AWSClient::MakeRequestWithUnparsedResponse(Aws::Http::URI const&, Aws::AmazonWebServiceRequest const&, Aws::Http::HttpMethod, char const*, char const*) const () from /usr/lib64/libaws-cpp-sdk-core.so
#23 0x00007f27e62dda38 in Aws::S3::S3Client::GetObject(Aws::S3::Model::GetObjectRequest const&) const () from /usr/lib64/libaws-cpp-sdk-s3.so
#24 0x00007f27e884bcde in S3_Client::get_object (this=this@entry=0x11fb580, bucket=..., name=..., data=data@entry=0x7f27d98895c0) at /root/chinac/ar-protector-core/src/storage/s3client.cc:42

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
guidance Question that needs advice or information. needs-triage This issue or PR still needs to be triaged.
Projects
None yet
Development

No branches or pull requests

1 participant