ThreadSanitizer, aka TSAN, is a useful tool to detect multi-thread problems, such as data race, mutex problems, etc. We should detect TSAN problems for Doris BE, both unit tests and server should pass through TSAN mode, to make Doris more robustness. This is the very beginning patch to fix TSAN problems, and some difficult problems are suppressed in file 'tsan_suppressions', you can suppress these problems by setting: export TSAN_OPTIONS="suppressions=tsan_suppressions" before running: `BUILD_TYPE=tsan ./run-be-ut.sh --run`
25 lines
1.4 KiB
Plaintext
25 lines
1.4 KiB
Plaintext
mutex:boost::condition_variable::wait(boost::unique_lock<boost::mutex>&)
|
|
mutex:brpc::*
|
|
mutex:doris::ConditionVariable::wait_until(doris::MonoTime const&) const
|
|
mutex:doris::ConditionVariable::wait() const
|
|
race:boost::intrusive::list_node_traits<void*>::get_next(boost::intrusive::list_node<void*> const* const&)
|
|
race:brpc::*
|
|
race:butil::*
|
|
race:bvar::*
|
|
race:doris::CountDownLatch::wait_until(doris::MonoTime const&) const
|
|
race:doris::PBackendService::*
|
|
race:doris::PStatus::status_code() const
|
|
race:doris::PTabletWriterAddBatchResult::*
|
|
race:doris::PTabletWriterOpenResult::*
|
|
race:doris::RefCountClosure<doris::PTabletWriterOpenResult>::unref()
|
|
race:doris::stream_load::TestInternalService::tablet_writer_add_batch(google::protobuf::RpcController*, doris::PTabletWriterAddBatchRequest const*, doris::PTabletWriterAddBatchResult*, google::protobuf::Closure*)
|
|
race:glog_internal_namespace_::*
|
|
race:google::protobuf::*
|
|
race:operator delete(void*)
|
|
race:std::_Bit_reference::operator bool() const
|
|
race:std::char_traits<char>::compare(char const*, char const*, unsigned long)
|
|
race:std::char_traits<char>::copy(char*, char const*, unsigned long)
|
|
race:std::lock_guard<int volatile>::lock_guard(int volatile&)
|
|
race:std::lock_guard<int volatile>::~lock_guard()
|
|
race:void google::protobuf::internal::RepeatedPtrFieldBase::Clear<google::protobuf::RepeatedPtrField<doris::PTabletInfo>::TypeHandler>()
|