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

SIGSEGV when PosixLogger::Logv posix_logger.h:110 on Android #8818

Open
MarcusCwl opened this issue Sep 7, 2021 · 0 comments
Open

SIGSEGV when PosixLogger::Logv posix_logger.h:110 on Android #8818

MarcusCwl opened this issue Sep 7, 2021 · 0 comments

Comments

@MarcusCwl
Copy link

Basic Info

  • RocksDb Version :
  • Environment : Android
  • Configs :
    - DisableWAL = true
    - Sync = false

Description

When running RocksDb on Android, sometimes we get crash report happened on RocksDb try to recover itself.
The posix_logger.h:110 try to access localtime_r(&seconds, &t); and throw SIGSEGV

Steps to reproduce the behavior

Tried force kill process when operating Db and reopen process.
Not able to reproduce.

  • Stacktrace is below
Crashed: Thread :  SIGSEGV  0x0038694755524639
#00 pc 0x70b4a2fac8 libc.so 
#01 pc 0x70b4a37b20 libc.so 
#02 pc 0x70b4a32898 libc.so 
#03 pc 0x7006efc930 librocksdb.so (rocksdb::PosixLogger::Logv(char const*, std::__va_list) [posix_logger.h:110])
#04 pc 0x7006e786e0 librocksdb.so (rocksdb::Logger::LogHeader(char const*, std::__va_list) [env.h:993])
#05 pc 0x7006e76bdc librocksdb.so (rocksdb::Logv(rocksdb::InfoLogLevel, rocksdb::Logger*, char const*, std::__va_list) [env.cc:177])
#06 pc 0x7006e914bc librocksdb.so (rocksdb::ColumnFamilyOptions::Dump(rocksdb::Logger*) const [options.cc:354])
#07 pc 0x7006dbf92c librocksdb.so (rocksdb::ColumnFamilyData::ColumnFamilyData(unsigned int, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, rocksdb::Version*, rocksdb::Cache*, rocksdb::WriteBufferManager*, rocksdb::ColumnFamilyOptions const&, rocksdb::ImmutableDBOptions const&, rocksdb::EnvOptions const&, rocksdb::ColumnFamilySet*, rocksdb::BlockCacheTracer*) [column_family.cc:490])
#08 pc 0x7006dc2878 librocksdb.so (rocksdb::ColumnFamilySet::CreateColumnFamily(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, unsigned int, rocksdb::Version*, rocksdb::ColumnFamilyOptions const&) [column_family.cc:1346])
#09 pc 0x7006e5457c librocksdb.so (rocksdb::VersionSet::CreateColumnFamily(rocksdb::ColumnFamilyOptions const&, rocksdb::VersionEdit*) [version_set.cc:5376])
#10 pc 0x7006e55274 librocksdb.so (rocksdb::VersionSet::ApplyOneVersionEditToBuilder(rocksdb::VersionEdit&, std::__ndk1::unordered_map<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, rocksdb::ColumnFamilyOptions, std::__ndk1::hash<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::equal_to<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const, rocksdb::ColumnFamilyOptions> > > const&, std::__ndk1::unordered_map<int, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::hash<int>, std::__ndk1::equal_to<int>, std::__ndk1::allocator<std::__ndk1::pair<int const, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > > >&, std::__ndk1::unordered_map<unsigned int, std::__ndk1::unique_ptr<rocksdb::BaseReferencedVersionBuilder, std::__ndk1::default_delete<rocksdb::BaseReferencedVersionBuilder> >, std::__ndk1::hash<unsigned int>, std::__ndk1::equal_to<unsigned int>, std::__ndk1::allocator<std::__ndk1::pair<unsigned int const, std::__ndk1::unique_ptr<rocksdb::BaseReferencedVersionBuilder, std::__ndk1::default_delete<rocksdb::BaseReferencedVersionBuilder> > > > >&, rocksdb::VersionEdit*) [version_set.cc:4102])
#11 pc 0x7006e5605c librocksdb.so (rocksdb::VersionSet::ReadAndRecover(rocksdb::log::Reader*, rocksdb::AtomicGroupReadBuffer*, std::__ndk1::unordered_map<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, rocksdb::ColumnFamilyOptions, std::__ndk1::hash<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::equal_to<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const, rocksdb::ColumnFamilyOptions> > > const&, std::__ndk1::unordered_map<int, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::hash<int>, std::__ndk1::equal_to<int>, std::__ndk1::allocator<std::__ndk1::pair<int const, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > > >&, std::__ndk1::unordered_map<unsigned int, std::__ndk1::unique_ptr<rocksdb::BaseReferencedVersionBuilder, std::__ndk1::default_delete<rocksdb::BaseReferencedVersionBuilder> >, std::__ndk1::hash<unsigned int>, std::__ndk1::equal_to<unsigned int>, std::__ndk1::allocator<std::__ndk1::pair<unsigned int const, std::__ndk1::unique_ptr<rocksdb::BaseReferencedVersionBuilder, std::__ndk1::default_delete<rocksdb::BaseReferencedVersionBuilder> > > > >&, rocksdb::VersionEdit*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >*) [version_set.cc:4281])
#12 pc 0x7006e569ec librocksdb.so (rocksdb::VersionSet::Recover(std::__ndk1::vector<rocksdb::ColumnFamilyDescriptor, std::__ndk1::allocator<rocksdb::ColumnFamilyDescriptor> > const&, bool, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >*) [version_set.cc:4367])
#13 pc 0x7006e0ed7c librocksdb.so (rocksdb::DBImpl::Recover(std::__ndk1::vector<rocksdb::ColumnFamilyDescriptor, std::__ndk1::allocator<rocksdb::ColumnFamilyDescriptor> > const&, bool, bool, bool) [db_impl_open.cc:396])
#14 pc 0x7006e12fbc librocksdb.so (rocksdb::DBImpl::Open(rocksdb::DBOptions const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::vector<rocksdb::ColumnFamilyDescriptor, std::__ndk1::allocator<rocksdb::ColumnFamilyDescriptor> > const&, std::__ndk1::vector<rocksdb::ColumnFamilyHandle*, std::__ndk1::allocator<rocksdb::ColumnFamilyHandle*> >*, rocksdb::DB**, bool, bool) [db_impl_open.cc:1358])
@ramvadiv ramvadiv added android bug Confirmed RocksDB bugs segfault up-for-grabs Up for grabs labels Sep 9, 2021
@ajkr ajkr removed the bug Confirmed RocksDB bugs label Sep 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants