Skip to content

Instantly share code, notes, and snippets.

@yiwu-arbug
Created December 11, 2017 19:28
Show Gist options
  • Save yiwu-arbug/5a2b4baae05eeb99ae1719b650f30a44 to your computer and use it in GitHub Desktop.
Save yiwu-arbug/5a2b4baae05eeb99ae1719b650f30a44 to your computer and use it in GitHub Desktop.
Running:./db_stress --max_background_compactions=20 --use_merge=1 --max_write_buffer_number=3 --sync=0 --reopen=20 --acquire_snapshot_one_in=10000 --delpercent=5 --log2_keys_per_lock=22 --block_size=16384 --allow_concurrent_memtable_write=0 --target_file_size_multiplier=2 --use_full_merge_v1=1 --target_file_size_base=2097152 --mmap_read=0 --writepercent=35 --readpercent=45 --subcompactions=2 --ops_per_thread=200000 --memtablerep=prefix_hash --prefix_size=7 --test_batches_snapshots=0 --db=/dev/shm/rocksdb/rocksdb_crashtest_whitebox --max_bytes_for_level_base=10485760 --threads=32 --disable_wal=0 --open_files=500000 --destroy_db_initially=0 --progress_reports=0 --snapshot_hold_ops=100000 --nooverwritepercent=1 --iterpercent=10 --max_key=100000000 --prefixpercent=5 --use_clock_cache=false --cache_size=1048576 --compaction_style=1 --verify_checksum=1 --write_buffer_size=4194304
check_mode=1, kill option=None, exitcode=66
make:
==================
WARNING: ThreadSanitizer: data race (pid=31034)
Write of size 1 at 0x7d680001ec3d by thread T33 (mutexes: write M8377, write M8378, write M8379, write M8380, write M8381, write M8382, write M8383, write M8384, write M8385, write M8371, write M8372, write M8373, write M8374, write M8375, write M8376, write M25968045):
#0 rocksdb::ColumnFamilyData::SetDropped() db/column_family.cc:500 (db_stress+0x0000005e62ca)
#1 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:2679 (db_stress+0x0000007a184b)
#2 rocksdb::VersionSet::LogAndApply(rocksdb::ColumnFamilyData*, rocksdb::MutableCFOptions const&, rocksdb::VersionEdit*, rocksdb::InstrumentedMutex*, rocksdb::Directory*, bool, rocksdb::ColumnFamilyOptions const*) db/version_set.h:701 (db_stress+0x00000065cba1)
#3 rocksdb::DBImpl::DropColumnFamilyImpl(rocksdb::ColumnFamilyHandle*) db/db_impl.cc:1387 (db_stress+0x00000063dab2)
#4 rocksdb::DBImpl::DropColumnFamily(rocksdb::ColumnFamilyHandle*) db/db_impl.cc:1335 (db_stress+0x00000064e037)
#5 OperateDb tools/db_stress.cc:1713 (db_stress+0x00000059a8f0)
#6 rocksdb::StressTest::ThreadBody(void*) tools/db_stress.cc:1334 (db_stress+0x0000005a12ba)
#7 StartThreadWrapper env/env_posix.cc:927 (db_stress+0x0000007ffa9d)
Previous read of size 1 at 0x7d680001ec3d by thread T13:
#0 rocksdb::CompactionJob::ProcessKeyValueCompaction(rocksdb::CompactionJob::SubcompactionState*) db/compaction_job.cc:796 (db_stress+0x00000060ef3a)
#1 rocksdb::CompactionJob::Run() db/compaction_job.cc:542 (db_stress+0x000000611afc)
#2 rocksdb::DBImpl::BackgroundCompaction(bool*, rocksdb::JobContext*, rocksdb::LogBuffer*, rocksdb::DBImpl::PrepickedCompaction*) db/db_impl_compaction_flush.cc:1708 (db_stress+0x000000674677)
#3 rocksdb::DBImpl::BackgroundCallCompaction(rocksdb::DBImpl::PrepickedCompaction*, rocksdb::Env::Priority) db/db_impl_compaction_flush.cc:1358 (db_stress+0x000000677df5)
#4 rocksdb::DBImpl::BGWorkCompaction(void*) db/db_impl_compaction_flush.cc:1177 (db_stress+0x000000678698)
#5 operator() util/threadpool_imp.cc:427 (db_stress+0x00000096babd)
#6 _M_invoke /mnt/gvfs/third-party2/gcc/8219ec1bcedf8ad9da05e121e193364de2cc4f61/5.x/centos6-native/c447969/include/c++/5.4.1/functional:1871 (db_stress+0x00000096babd)
#7 std::function<void ()>::operator()() const /mnt/gvfs/third-party2/gcc/8219ec1bcedf8ad9da05e121e193364de2cc4f61/5.x/centos6-native/c447969/include/c++/5.4.1/functional:2267 (db_stress+0x00000076f673)
#8 rocksdb::ThreadPoolImpl::Impl::BGThread(unsigned long) util/threadpool_imp.cc:240 (db_stress+0x00000096d061)
#9 rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper(void*) util/threadpool_imp.cc:264 (db_stress+0x00000096d39d)
#10 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_stress+0x00000096f00f)
#11 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_stress+0x00000096f00f)
#12 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_stress+0x00000096f00f)
#13 execute_native_thread_routine <null> (libstdc++.so.6+0x0000000c7170)
Location is heap block of size 1400 at 0x7d680001ec00 allocated by thread T50:
#0 operator new(unsigned long) <null> (libtsan.so.0+0x000000040abd)
#1 rocksdb::ColumnFamilySet::CreateColumnFamily(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, rocksdb::Version*, rocksdb::ColumnFamilyOptions const&) db/column_family.cc:1116 (db_stress+0x0000005e94e9)
#2 rocksdb::VersionSet::CreateColumnFamily(rocksdb::ColumnFamilyOptions const&, rocksdb::VersionEdit*) db/version_set.cc:3869 (db_stress+0x00000079e4c2)
#3 rocksdb::VersionSet::Recover(std::vector<rocksdb::ColumnFamilyDescriptor, std::allocator<rocksdb::ColumnFamilyDescriptor> > const&, bool) db/version_set.cc:2907 (db_stress+0x0000007a6aad)
#4 rocksdb::DBImpl::Recover(std::vector<rocksdb::ColumnFamilyDescriptor, std::allocator<rocksdb::ColumnFamilyDescriptor> > const&, bool, bool, bool) db/db_impl_open.cc:361 (db_stress+0x0000006a191f)
#5 rocksdb::DBImpl::Open(rocksdb::DBOptions const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<rocksdb::ColumnFamilyDescriptor, std::allocator<rocksdb::ColumnFamilyDescriptor> > const&, std::vector<rocksdb::ColumnFamilyHandle*, std::allocator<rocksdb::ColumnFamilyHandle*> >*, rocksdb::DB**, bool) db/db_impl_open.cc:1025 (db_stress+0x0000006a4284)
#6 rocksdb::DB::Open(rocksdb::DBOptions const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<rocksdb::ColumnFamilyDescriptor, std::allocator<rocksdb::ColumnFamilyDescriptor> > const&, std::vector<rocksdb::ColumnFamilyHandle*, std::allocator<rocksdb::ColumnFamilyHandle*> >*, rocksdb::DB**) db/db_impl_open.cc:975 (db_stress+0x0000006a63fa)
#7 rocksdb::StressTest::Open() tools/db_stress.cc:2385 (db_stress+0x00000059358b)
#8 rocksdb::StressTest::Reopen() tools/db_stress.cc:2418 (db_stress+0x00000059482e)
#9 OperateDb tools/db_stress.cc:1675 (db_stress+0x00000059dc84)
#10 rocksdb::StressTest::ThreadBody(void*) tools/db_stress.cc:1334 (db_stress+0x0000005a12ba)
#11 StartThreadWrapper env/env_posix.cc:927 (db_stress+0x0000007ffa9d)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment