Skip to content
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

Cloud example coredump #278

Open
dimu637 opened this issue Aug 2, 2023 · 0 comments
Open

Cloud example coredump #278

dimu637 opened this issue Aug 2, 2023 · 0 comments

Comments

@dimu637
Copy link

dimu637 commented Aug 2, 2023

Note: Please use Issues only for bug reports. For questions, discussions, feature requests, etc. post to dev group: https://groups.google.com/forum/#!forum/rocksdb or https://www.facebook.com/groups/rocksdb.dev

I try to run the cloud example but I get a coredump

./cloud_durable_example
Thread 1 "cloud_durable_e" received signal SIGSEGV, Segmentation fault.
0x00007ffff799eb59 in Aws::Utils::Threading::ReaderWriterLock::LockReader() () from /usr/local/lib/libaws-cpp-sdk-core.so
(gdb) bt
#0  0x00007ffff799eb59 in Aws::Utils::Threading::ReaderWriterLock::LockReader() () from /usr/local/lib/libaws-cpp-sdk-core.so
#1  0x00007ffff79aef02 in Aws::Config::ConfigAndCredentialsCacheManager::GetConfig(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const () from /usr/local/lib/libaws-cpp-sdk-core.so
#2  0x00007ffff79aefcf in Aws::Config::GetCachedConfigValue(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/local/lib/libaws-cpp-sdk-core.so
#3  0x00007ffff79b15e8 in Aws::Client::ClientConfiguration::LoadConfigFromEnvOrProfile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/local/lib/libaws-cpp-sdk-core.so
#4  0x00007ffff79cb2cf in Aws::Client::setLegacyClientConfigurationParameters(Aws::Client::ClientConfiguration&) () from /usr/local/lib/libaws-cpp-sdk-core.so
#5  0x00007ffff79d81b4 in Aws::Client::ClientConfiguration::ClientConfiguration() () from /usr/local/lib/libaws-cpp-sdk-core.so
#6  0x00005555556460f0 in rocksdb::S3StorageProvider::PrepareOptions (this=0x555555cda450, options=...) at cloud/aws/aws_s3.cc:469
#7  0x00005555558d905b in rocksdb::OptionTypeInfo::Prepare (this=this@entry=0x7fffffffcb70, config_options=..., name="provider", opt_ptr=<optimized out>) at options/options_helper.cc:1429
#8  0x00005555558c3328 in rocksdb::Configurable::PrepareOptions (this=this@entry=0x555555cd8410, opts=...) at options/configurable.cc:50
#9  0x000055555566ae5b in rocksdb::CloudFileSystemImpl::PrepareOptions (this=this@entry=0x555555cd8410, options=...) at cloud/cloud_file_system_impl.cc:2281
#10 0x0000555555631a2e in rocksdb::AwsFileSystem::PrepareOptions (this=0x555555cd8410, options=...) at cloud/aws/aws_file_system.cc:209
#11 0x000055555562f4cc in rocksdb::AwsFileSystem::NewAwsFileSystem (base_fs=std::shared_ptr<class rocksdb::FileSystem> (use count 5, weak count 0) = {...}, cloud_options=..., info_log=
    std::shared_ptr<class rocksdb::Logger> (empty) = {...}, cfs=cfs@entry=0x7fffffffd358) at cloud/aws/aws_file_system.cc:230
#12 0x000055555565ee4c in rocksdb::CloudFileSystem::NewAwsFileSystem (base_fs=std::shared_ptr<class rocksdb::FileSystem> (use count 5, weak count 0) = {...}, options=...,
    logger=std::shared_ptr<class rocksdb::Logger> (empty) = {...}, cfs=0x7fffffffd358) at cloud/cloud_file_system.cc:632
#13 0x0000555555661436 in rocksdb::CloudFileSystem::NewAwsFileSystem (base_fs=std::shared_ptr<class rocksdb::FileSystem> (use count 5, weak count 0) = {...},
 
#14 0x0000555555629f93 in main () at cloud/aws/aws_file_system.cc:293

I manually fix this buy adding one line

diff --git a/cloud/aws/aws_s3.cc b/cloud/aws/aws_s3.cc
index 1eecf7b22..f47c6524c 100644
--- a/cloud/aws/aws_s3.cc
+++ b/cloud/aws/aws_s3.cc
@@ -466,6 +466,7 @@ Status S3StorageProvider::PrepareOptions(const ConfigOptions& options) {
      return Status::InvalidArgument("Two different regions not supported");
    }
  }
  {+Aws::InitAPI(Aws::SDKOptions());+} /// add here
  Aws::Client::ClientConfiguration config;
  Status status = AwsCloudOptions::GetClientConfiguration(
      cfs, cloud_opts.src_bucket.GetRegion(), &config);

Is this a bug? Or do I use it in the wrong way?

Expected behavior

Actual behavior

Steps to reproduce the behavior

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant