Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save miasantreble/712e04b4de2ff7f193c98b1acf07e899 to your computer and use it in GitHub Desktop.
Save miasantreble/712e04b4de2ff7f193c98b1acf07e899 to your computer and use it in GitHub Desktop.
TSAN failure in DBRangeDelTest.ValidLevelSubcompactionBoundaries
===== Running db_range_del_test
[==========] Running 28 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 28 tests from DBRangeDelTest
[ RUN ] DBRangeDelTest.NonBlockBasedTableNotSupported
[ OK ] DBRangeDelTest.NonBlockBasedTableNotSupported (34 ms)
[ RUN ] DBRangeDelTest.FlushOutputHasOnlyRangeTombstones
[ OK ] DBRangeDelTest.FlushOutputHasOnlyRangeTombstones (19 ms)
[ RUN ] DBRangeDelTest.CompactionOutputHasOnlyRangeTombstone
[ OK ] DBRangeDelTest.CompactionOutputHasOnlyRangeTombstone (106 ms)
[ RUN ] DBRangeDelTest.CompactionOutputFilesExactlyFilled
[ OK ] DBRangeDelTest.CompactionOutputFilesExactlyFilled (43 ms)
[ RUN ] DBRangeDelTest.MaxCompactionBytesCutsOutputFiles
[ OK ] DBRangeDelTest.MaxCompactionBytesCutsOutputFiles (371 ms)
[ RUN ] DBRangeDelTest.SentinelsOmittedFromOutputFile
[ OK ] DBRangeDelTest.SentinelsOmittedFromOutputFile (18 ms)
[ RUN ] DBRangeDelTest.FlushRangeDelsSameStartKey
[ OK ] DBRangeDelTest.FlushRangeDelsSameStartKey (18 ms)
[ RUN ] DBRangeDelTest.CompactRangeDelsSameStartKey
[ OK ] DBRangeDelTest.CompactRangeDelsSameStartKey (24 ms)
[ RUN ] DBRangeDelTest.FlushRemovesCoveredKeys
[ OK ] DBRangeDelTest.FlushRemovesCoveredKeys (63 ms)
[ RUN ] DBRangeDelTest.CompactionRemovesCoveredKeys
[ OK ] DBRangeDelTest.CompactionRemovesCoveredKeys (155 ms)
[ RUN ] DBRangeDelTest.ValidLevelSubcompactionBoundaries
==================
WARNING: ThreadSanitizer: data race (pid=52834)
Write of size 8 at 0x7d680001f698 by main thread (mutexes: write M32564):
#0 rocksdb::MutableCFOptions::operator=(rocksdb::MutableCFOptions const&) options/cf_options.h:127 (db_range_del_test+0x00000062611a)
#1 rocksdb::ColumnFamilyData::SetOptions(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<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&) db/column_family.cc:1154 (db_range_del_test+0x00000062611a)
#2 rocksdb::DBImpl::SetOptions(rocksdb::ColumnFamilyHandle*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<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&) db/db_impl.cc:556 (db_range_del_test+0x0000006a1420)
#3 rocksdb::DBImpl::EnableAutoCompaction(std::vector<rocksdb::ColumnFamilyHandle*, std::allocator<rocksdb::ColumnFamilyHandle*> > const&) db/db_impl_compaction_flush.cc:1149 (db_range_del_test+0x0000006c245b)
#4 rocksdb::DBRangeDelTest_ValidLevelSubcompactionBoundaries_Test::TestBody() db/db_range_del_test.cc:372 (db_range_del_test+0x0000005ab34d)
#5 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) third-party/gtest-1.7.0/fused-src/gtest/gtest-all.cc:3824 (db_range_del_test+0x000000c43b3d)
#6 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) third-party/gtest-1.7.0/fused-src/gtest/gtest-all.cc:3860 (db_range_del_test+0x000000c43b3d)
#7 testing::Test::Run() third-party/gtest-1.7.0/fused-src/gtest/gtest-all.cc:3897 (db_range_del_test+0x000000c37c03)
#8 testing::TestInfo::Run() third-party/gtest-1.7.0/fused-src/gtest/gtest-all.cc:4072 (db_range_del_test+0x000000c37e67)
#9 testing::TestCase::Run() third-party/gtest-1.7.0/fused-src/gtest/gtest-all.cc:4190 (db_range_del_test+0x000000c37fa1)
#10 testing::internal::UnitTestImpl::RunAllTests() third-party/gtest-1.7.0/fused-src/gtest/gtest-all.cc:6062 (db_range_del_test+0x000000c38474)
#11 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) third-party/gtest-1.7.0/fused-src/gtest/gtest-all.cc:3824 (db_range_del_test+0x000000c4419d)
#12 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) third-party/gtest-1.7.0/fused-src/gtest/gtest-all.cc:3860 (db_range_del_test+0x000000c4419d)
#13 testing::UnitTest::Run() third-party/gtest-1.7.0/fused-src/gtest/gtest-all.cc:5680 (db_range_del_test+0x000000c388b5)
#14 RUN_ALL_TESTS() third-party/gtest-1.7.0/fused-src/gtest/gtest.h:20722 (db_range_del_test+0x000000410185)
#15 main db/db_range_del_test.cc:1006 (db_range_del_test+0x000000410185)
Previous read of size 8 at 0x7d680001f698 by thread T2:
#0 rocksdb::VersionStorageInfo::CalculateBaseBytes(rocksdb::ImmutableCFOptions const&, rocksdb::MutableCFOptions const&) db/version_set.cc:2446 (db_range_del_test+0x0000008199de)
#1 rocksdb::Version::PrepareApply(rocksdb::MutableCFOptions const&, bool) db/version_set.cc:1310 (db_range_del_test+0x00000082a7f6)
#2 rocksdb::VersionSet::LogAndApply(rocksdb::ColumnFamilyData*, rocksdb::MutableCFOptions const&, rocksdb::autovector<rocksdb::VersionEdit*, 8ul> const&, rocksdb::InstrumentedMutex*, rocksdb::Directory*, bool, rocksdb::ColumnFamilyOptions const*) db/version_set.cc:2879 (db_range_del_test+0x00000082e52b)
#3 rocksdb::VersionSet::LogAndApply(rocksdb::ColumnFamilyData*, rocksdb::MutableCFOptions const&, rocksdb::VersionEdit*, rocksdb::InstrumentedMutex*, rocksdb::Directory*, bool, rocksdb::ColumnFamilyOptions const*) db/version_set.h:751 (db_range_del_test+0x0000006eb44e)
#4 rocksdb::DBImpl::DeleteObsoleteFileImpl(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rocksdb::FileType, unsigned long) db/db_impl_files.cc:369 (db_range_del_test+0x0000006eb44e)
#5 rocksdb::DBImpl::PurgeObsoleteFiles(rocksdb::JobContext&, bool) db/db_impl_files.cc:555 (db_range_del_test+0x0000006f0d19)
#6 rocksdb::DBImpl::BackgroundCallFlush() db/db_impl_compaction_flush.cc:1459 (db_range_del_test+0x0000006d23dc)
#7 rocksdb::DBImpl::BGWorkFlush(void*) db/db_impl_compaction_flush.cc:1307 (db_range_del_test+0x0000006d280e)
#8 operator() util/threadpool_imp.cc:441 (db_range_del_test+0x000000a1afed)
#9 _M_invoke /mnt/gvfs/third-party2/gcc/8219ec1bcedf8ad9da05e121e193364de2cc4f61/5.x/centos6-native/c447969/include/c++/5.4.1/functional:1871 (db_range_del_test+0x000000a1afed)
#10 std::function<void ()>::operator()() const /mnt/gvfs/third-party2/gcc/8219ec1bcedf8ad9da05e121e193364de2cc4f61/5.x/centos6-native/c447969/include/c++/5.4.1/functional:2267 (db_range_del_test+0x0000005de273)
#11 rocksdb::ThreadPoolImpl::Impl::BGThread(unsigned long) util/threadpool_imp.cc:240 (db_range_del_test+0x000000a1c591)
#12 rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper(void*) util/threadpool_imp.cc:278 (db_range_del_test+0x000000a1c909)
#13 void* std::_Bind_simple<void* (*(rocksdb::BGThreadMetadata*))(void*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) /mnt/gvfs/third-party2/gcc/8219ec1bcedf8ad9da05e121e193364de2cc4f61/5.x/centos6-native/c447969/include/c++/5.4.1/functional:1531 (db_range_del_test+0x000000a1e5af)
#14 std::_Bind_simple<void* (*(rocksdb::BGThreadMetadata*))(void*)>::operator()() /mnt/gvfs/third-party2/gcc/8219ec1bcedf8ad9da05e121e193364de2cc4f61/5.x/centos6-native/c447969/include/c++/5.4.1/functional:1520 (db_range_del_test+0x000000a1e5af)
#15 std::thread::_Impl<std::_Bind_simple<void* (*(rocksdb::BGThreadMetadata*))(void*)> >::_M_run() /mnt/gvfs/third-party2/gcc/8219ec1bcedf8ad9da05e121e193364de2cc4f61/5.x/centos6-native/c447969/include/c++/5.4.1/thread:115 (db_range_del_test+0x000000a1e5af)
#16 execute_native_thread_routine <null> (libstdc++.so.6+0x0000000c7170)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment