Actions
Bug #55497
openCan't run ceph with ASAN and TSAN
Status:
New
Priority:
Normal
Assignee:
-
Category:
common
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Description
Hi, I'm trying to compile ceph v15.2.1 (9fd2f65f91d9246fae2c841a6222d34d121680ee) with ASAN and TSAN. The compilation options are shown below:
//ASAN
/do_cmake.sh -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DWITH_TESTS=OFF -DWITH_RADOSGW=OFF -DWITH_RBD=OFF -DWITH_MGR_DASHBOARD_FRONTEND=OFF -DWITH_KRBD=OFF -DALLOCATOR=libc -DWITH_ASAN=ON
//TSAN
/do_cmake.sh -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DWITH_TESTS=OFF -DWITH_RADOSGW=OFF -DWITH_RBD=OFF -DWITH_MGR_DASHBOARD_FRONTEND=OFF -DWITH_KRBD=OFF -DALLOCATOR=libc -DWITH_TSAN=ON
But when I setup ceph, any commands related /usr/bin/ceph will stuck, for example, when I run "ceph -h", it will always stuck as shown below.
root@user: LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.5 ceph -h
General usage:
==============
usage: ceph [-h] [-c CEPHCONF] [-i INPUT_FILE] [-o OUTPUT_FILE] [--setuser SETUSER] [--setgroup SETGROUP]
[--id CLIENT_ID] [--name CLIENT_NAME] [--cluster CLUSTER] [--admin-daemon ADMIN_SOCKET] [-s] [-w]
[--watch-debug] [--watch-info] [--watch-sec] [--watch-warn] [--watch-error] [-W WATCH_CHANNEL]
[--version] [--verbose] [--concise] [-f {json,json-pretty,xml,xml-pretty,plain}]
[--connect-timeout CLUSTER_TIMEOUT] [--block] [--period PERIOD]
Ceph administration tool
optional arguments:
-h, --help request mon help
-c CEPHCONF, --conf CEPHCONF
ceph configuration file
-i INPUT_FILE, --in-file INPUT_FILE
input file, or "-" for stdin
-o OUTPUT_FILE, --out-file OUTPUT_FILE
output file, or "-" for stdout
--setuser SETUSER set user file permission
--setgroup SETGROUP set group file permission
--id CLIENT_ID, --user CLIENT_ID
client id for authentication
--name CLIENT_NAME, -n CLIENT_NAME
client name for authentication
--cluster CLUSTER cluster name
--admin-daemon ADMIN_SOCKET
submit admin-socket commands ("help" for help
-s, --status show cluster status
-w, --watch watch live cluster changes
--watch-debug watch debug events
--watch-info watch info events
--watch-sec watch security events
--watch-warn watch warn events
--watch-error watch error events
-W WATCH_CHANNEL, --watch-channel WATCH_CHANNEL
watch live cluster changes on a specific channel (e.g., cluster, audit, cephadm, or '*'
for all)
--version, -v display version
--verbose make verbose
--concise make less verbose
-f {json,json-pretty,xml,xml-pretty,plain}, --format {json,json-pretty,xml,xml-pretty,plain}
--connect-timeout CLUSTER_TIMEOUT
set a timeout for connecting to the cluster
--block block until completion (scrub and deep-scrub only)
--period PERIOD, -p PERIOD
polling period, default 1.0 second (for polling commands only)
Local commands:
===============
ping <mon.id> Send simple presence/life test to a mon
<mon.id> may be 'mon.*' for all mons
daemon {type.id|path} <cmd>
Same as --admin-daemon, but auto-find admin socket
daemonperf {type.id | path} [stat-pats] [priority] [<interval>] [<count>]
daemonperf {type.id | path} list|ls [stat-pats] [priority]
Get selected perf stats from daemon/admin socket
Optional shell-glob comma-delim match string stat-pats
Optional selection priority (can abbreviate name):
critical, interesting, useful, noninteresting, debug
List shows a table of all available stats
Run <count> times (default forever),
once per <interval> seconds (default 1)
For tasan, it will report lot of data race during the setup process. I'll only show some of them here:
WARNING: ThreadSanitizer: data race (pid=439)
Write of size 1 at 0x7ba000010871 by thread T17 (mutexes: write M506):
#0 md_config_t::update_legacy_val(ConfigValues&, Option const&, boost::variant<long ConfigValues::*, unsigned long ConfigValues::*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > ConfigValues::*, double ConfigValues::*, bool ConfigValues::*, entity_addr_t ConfigValues::*, entity_addrvec_t ConfigValues::*, uuid_d ConfigValues::*>) <null> (libceph-common.so.2+0x592a9c)
#1 md_config_t::update_legacy_vals(ConfigValues&) <null> (libceph-common.so.2+0x592fea)
#2 md_config_t::set_mon_vals(ceph::common::CephContext*, ConfigValues&, ConfigTracker const&, std::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::less<void>, 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&, std::function<bool (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&)>) <null> (libceph-common.so.2+0x5bbd69)
#3 ceph::common::ConfigProxy::set_mon_vals(ceph::common::CephContext*, std::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::less<void>, 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&, std::function<bool (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&)>) <null> (libceph-common.so.2+0xa22d3e)
#4 LambdaContext<MonClient::handle_config(MConfig*)::{lambda(int)#2}>::finish(int) <null> (libceph-common.so.2+0x9f7dff)
#5 Context::complete(int) <null> (libceph-common.so.2+0x3aa944)
#6 Finisher::finisher_thread_entry() <null> (libceph-common.so.2+0x3d4c8e)
#7 Finisher::FinisherThread::entry() <null> (libceph-common.so.2+0xa1fd6d)
#8 Thread::entry_wrapper() <null> (libceph-common.so.2+0x46d109)
#9 Thread::_entry_func(void*) <null> (libceph-common.so.2+0x46d216)
Previous read of size 1 at 0x7ba000010871 by thread T6 (mutexes: write M803):
#0 Connection::is_blackhole() const <null> (libceph-common.so.2+0x85701a)
#1 ProtocolV1::handle_message_footer(char*, int) <null> (libceph-common.so.2+0x896bc2)
#2 CtFun<ProtocolV1, char*, int>::call(ProtocolV1*) const <null> (libceph-common.so.2+0x8c9b2a)
#3 std::_Function_handler<void (char*, long), ProtocolV1::read(CtFun<ProtocolV1, char*, int>&, int, char*)::{lambda(char*, int)#1}>::_M_invoke(std::_Any_data const&, char*&&, long&&) <null> (libceph-common.so.2+0x8917a6)
#4 AsyncConnection::process() <null> (libceph-common.so.2+0x86dc17)
#5 C_handle_read::do_request(unsigned long) <null> (libceph-common.so.2+0x871b3d)
#6 EventCenter::process_events(unsigned int, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> >*) <null> (libceph-common.so.2+0x924905)
#7 std::_Function_handler<void (), NetworkStack::add_thread(unsigned int)::{lambda()#1}>::_M_invoke(std::_Any_data const&) <null> (libceph-common.so.2+0x935e23)
#8 std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::function<void ()> > > >::_M_run() <null> (libceph-common.so.2+0x932dc3)
#9 <null> <null> (libstdc++.so.6+0xda6b3)
Location is heap block of size 14512 at 0x7ba000010000 allocated by thread T1:
#0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8f542)
#1 common_preinit(CephInitParameters const&, code_environment_t, int) <null> (libceph-common.so.2+0x58386a)
#2 rados_create_cct(char const*, CephInitParameters*) <null> (librados.so.2+0xadf13)
#3 _rados_create2 <null> (librados.so.2+0xae7ca)
#4 __pyx_pf_5rados_5Rados_2__setup /root/ceph/build/src/pybind/rados/pyrex/rados.c:12393 (rados.cpython-38-x86_64-linux-gnu.so+0xbc5fe)
#5 __pyx_pw_5rados_5Rados_3__setup /root/ceph/build/src/pybind/rados/pyrex/rados.c:11881 (rados.cpython-38-x86_64-linux-gnu.so+0xbc5fe)
Mutex M506 (0x7ba000013628) created at:
#0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4250 (libtsan.so.0+0x53908)
#1 ceph::common::ConfigProxy::add_observer(ceph::md_config_obs_impl<ceph::common::ConfigProxy>*) <null> (libceph-common.so.2+0x53a1b7)
#2 ceph::common::CephContext::CephContext(unsigned int, code_environment_t, int) <null> (libceph-common.so.2+0x52baea)
#3 common_preinit(CephInitParameters const&, code_environment_t, int) <null> (libceph-common.so.2+0x58388a)
#4 rados_create_cct(char const*, CephInitParameters*) <null> (librados.so.2+0xadf13)
#5 _rados_create2 <null> (librados.so.2+0xae7ca)
#6 __pyx_pf_5rados_5Rados_2__setup /root/ceph/build/src/pybind/rados/pyrex/rados.c:12393 (rados.cpython-38-x86_64-linux-gnu.so+0xbc5fe)
#7 __pyx_pw_5rados_5Rados_3__setup /root/ceph/build/src/pybind/rados/pyrex/rados.c:11881 (rados.cpython-38-x86_64-linux-gnu.so+0xbc5fe)
Mutex M803 (0x7b6000070a40) created at:
#0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4250 (libtsan.so.0+0x53908)
#1 AsyncConnection::connect(entity_addrvec_t const&, int, entity_addr_t&) <null> (libceph-common.so.2+0x860a18)
#2 AsyncMessenger::create_connect(entity_addrvec_t const&, int, bool) <null> (libceph-common.so.2+0x8767ac)
#3 AsyncMessenger::connect_to(int, entity_addrvec_t const&, bool, bool) <null> (libceph-common.so.2+0x8778c0)
#4 MonClient::_add_conn(unsigned int, unsigned long) <null> (libceph-common.so.2+0xa0230f)
#5 MonClient::_add_conns(unsigned long) <null> (libceph-common.so.2+0xa086f6)
#6 MonClient::_reopen_session(int) <null> (libceph-common.so.2+0xa0f717)
#7 MonClient::authenticate(double) <null> (libceph-common.so.2+0xa11c8a)
#8 librados::v14_2_0::RadosClient::connect() <null> (librados.so.2+0x15b18e)
#9 _rados_connect <null> (librados.so.2+0x59275)
#10 __pyx_pf_5rados_5Rados_28connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16159 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
#11 __pyx_pw_5rados_5Rados_29connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16094 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
Thread T17 'fn_anonymous' (tid=476, running) created by thread T3 at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 Thread::try_create(unsigned long) <null> (libceph-common.so.2+0x46d448)
#2 Thread::create(char const*, unsigned long) <null> (libceph-common.so.2+0x46d566)
#3 Finisher::start() <null> (libceph-common.so.2+0x3d2cbd)
#4 MonClient::init() <null> (libceph-common.so.2+0xa0357f)
#5 librados::v14_2_0::RadosClient::connect() <null> (librados.so.2+0x15b148)
#6 _rados_connect <null> (librados.so.2+0x59275)
#7 __pyx_pf_5rados_5Rados_28connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16159 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
#8 __pyx_pw_5rados_5Rados_29connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16094 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
Thread T6 'msgr-worker-2' (tid=465, running) created by thread T3 at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xda989)
#2 NetworkStack::start() <null> (libceph-common.so.2+0x934721)
#3 AsyncMessenger::AsyncMessenger(ceph::common::CephContext*, entity_name_t, 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> >, unsigned long) <null> (libceph-common.so.2+0x88501f)
#4 Messenger::create(ceph::common::CephContext*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, entity_name_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, unsigned long) <null> (libceph-common.so.2+0x852645)
#5 Messenger::create_client_messenger(ceph::common::CephContext*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) <null> (libceph-common.so.2+0x853165)
#6 MonClient::get_monmap_and_config() <null> (libceph-common.so.2+0xa129f4)
#7 librados::v14_2_0::RadosClient::connect() <null> (librados.so.2+0x15a42e)
#8 _rados_connect <null> (librados.so.2+0x59275)
#9 __pyx_pf_5rados_5Rados_28connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16159 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
#10 __pyx_pw_5rados_5Rados_29connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16094 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
Thread T1 (tid=460, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 PyThread_start_new_thread <null> (python3.8+0x670ab9)
SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/ceph/libceph-common.so.2+0x592a9c) in md_config_t::update_legacy_val(ConfigValues&, Option const&, boost::variant<long ConfigValues::*, unsigned long ConfigValues::*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > ConfigValues::*, double ConfigValues::*, bool ConfigValues::*, entity_addr_t ConfigValues::*, entity_addrvec_t ConfigValues::*, uuid_d ConfigValues::*>)
==================
==================
WARNING: ThreadSanitizer: data race (pid=439)
Write of size 8 at 0x7ba0000110f0 by thread T17 (mutexes: write M506):
#0 md_config_t::update_legacy_val(ConfigValues&, Option const&, boost::variant<long ConfigValues::*, unsigned long ConfigValues::*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > ConfigValues::*, double ConfigValues::*, bool ConfigValues::*, entity_addr_t ConfigValues::*, entity_addrvec_t ConfigValues::*, uuid_d ConfigValues::*>) <null> (libceph-common.so.2+0x592a1a)
#1 md_config_t::update_legacy_vals(ConfigValues&) <null> (libceph-common.so.2+0x592fea)
#2 md_config_t::set_mon_vals(ceph::common::CephContext*, ConfigValues&, ConfigTracker const&, std::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::less<void>, 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&, std::function<bool (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&)>) <null> (libceph-common.so.2+0x5bbd69)
#3 ceph::common::ConfigProxy::set_mon_vals(ceph::common::CephContext*, std::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::less<void>, 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&, std::function<bool (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&)>) <null> (libceph-common.so.2+0xa22d3e)
#4 LambdaContext<MonClient::handle_config(MConfig*)::{lambda(int)#2}>::finish(int) <null> (libceph-common.so.2+0x9f7dff)
#5 Context::complete(int) <null> (libceph-common.so.2+0x3aa944)
#6 Finisher::finisher_thread_entry() <null> (libceph-common.so.2+0x3d4c8e)
#7 Finisher::FinisherThread::entry() <null> (libceph-common.so.2+0xa1fd6d)
#8 Thread::entry_wrapper() <null> (libceph-common.so.2+0x46d109)
#9 Thread::_entry_func(void*) <null> (libceph-common.so.2+0x46d216)
Previous read of size 8 at 0x7ba0000110f0 by thread T3 (mutexes: read M770):
#0 Objecter::start_tick() <null> (librados.so.2+0x174738)
#1 Objecter::start(OSDMap const*) <null> (librados.so.2+0x177014)
#2 librados::v14_2_0::RadosClient::connect() <null> (librados.so.2+0x15b400)
#3 _rados_connect <null> (librados.so.2+0x59275)
#4 __pyx_pf_5rados_5Rados_28connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16159 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
#5 __pyx_pw_5rados_5Rados_29connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16094 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
Location is heap block of size 14512 at 0x7ba000010000 allocated by thread T1:
#0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8f542)
#1 common_preinit(CephInitParameters const&, code_environment_t, int) <null> (libceph-common.so.2+0x58386a)
#2 rados_create_cct(char const*, CephInitParameters*) <null> (librados.so.2+0xadf13)
#3 _rados_create2 <null> (librados.so.2+0xae7ca)
#4 __pyx_pf_5rados_5Rados_2__setup /root/ceph/build/src/pybind/rados/pyrex/rados.c:12393 (rados.cpython-38-x86_64-linux-gnu.so+0xbc5fe)
#5 __pyx_pw_5rados_5Rados_3__setup /root/ceph/build/src/pybind/rados/pyrex/rados.c:11881 (rados.cpython-38-x86_64-linux-gnu.so+0xbc5fe)
Mutex M506 (0x7ba000013628) created at:
#0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4250 (libtsan.so.0+0x53908)
#1 ceph::common::ConfigProxy::add_observer(ceph::md_config_obs_impl<ceph::common::ConfigProxy>*) <null> (libceph-common.so.2+0x53a1b7)
#2 ceph::common::CephContext::CephContext(unsigned int, code_environment_t, int) <null> (libceph-common.so.2+0x52baea)
#3 common_preinit(CephInitParameters const&, code_environment_t, int) <null> (libceph-common.so.2+0x58388a)
#4 rados_create_cct(char const*, CephInitParameters*) <null> (librados.so.2+0xadf13)
#5 _rados_create2 <null> (librados.so.2+0xae7ca)
#6 __pyx_pf_5rados_5Rados_2__setup /root/ceph/build/src/pybind/rados/pyrex/rados.c:12393 (rados.cpython-38-x86_64-linux-gnu.so+0xbc5fe)
#7 __pyx_pw_5rados_5Rados_3__setup /root/ceph/build/src/pybind/rados/pyrex/rados.c:11881 (rados.cpython-38-x86_64-linux-gnu.so+0xbc5fe)
Mutex M770 (0x7b6800010948) created at:
#0 pthread_rwlock_wrlock ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1368 (libtsan.so.0+0x3f778)
#1 Objecter::update_crush_location() <null> (librados.so.2+0x16d06c)
#2 Objecter::init() <null> (librados.so.2+0x19fbb0)
#3 librados::v14_2_0::RadosClient::connect() <null> (librados.so.2+0x15ab9d)
#4 _rados_connect <null> (librados.so.2+0x59275)
#5 __pyx_pf_5rados_5Rados_28connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16159 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
#6 __pyx_pw_5rados_5Rados_29connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16094 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
Thread T17 'fn_anonymous' (tid=476, running) created by thread T3 at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 Thread::try_create(unsigned long) <null> (libceph-common.so.2+0x46d448)
#2 Thread::create(char const*, unsigned long) <null> (libceph-common.so.2+0x46d566)
#3 Finisher::start() <null> (libceph-common.so.2+0x3d2cbd)
#4 MonClient::init() <null> (libceph-common.so.2+0xa0357f)
#5 librados::v14_2_0::RadosClient::connect() <null> (librados.so.2+0x15b148)
#6 _rados_connect <null> (librados.so.2+0x59275)
#7 __pyx_pf_5rados_5Rados_28connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16159 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
#8 __pyx_pw_5rados_5Rados_29connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16094 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
Thread T3 (tid=462, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 PyThread_start_new_thread <null> (python3.8+0x670ab9)
Thread T1 (tid=460, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 PyThread_start_new_thread <null> (python3.8+0x670ab9)
SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/ceph/libceph-common.so.2+0x592a1a) in md_config_t::update_legacy_val(ConfigValues&, Option const&, boost::variant<long ConfigValues::*, unsigned long ConfigValues::*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > ConfigValues::*, double ConfigValues::*, bool ConfigValues::*, entity_addr_t ConfigValues::*, entity_addrvec_t ConfigValues::*, uuid_d ConfigValues::*>)
==================
==================
WARNING: ThreadSanitizer: data race (pid=439)
Write of size 8 at 0x7ba000012510 by thread T17 (mutexes: write M506):
#0 md_config_t::update_legacy_val(ConfigValues&, Option const&, boost::variant<long ConfigValues::*, unsigned long ConfigValues::*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > ConfigValues::*, double ConfigValues::*, bool ConfigValues::*, entity_addr_t ConfigValues::*, entity_addrvec_t ConfigValues::*, uuid_d ConfigValues::*>) <null> (libceph-common.so.2+0x592a1a)
#1 md_config_t::update_legacy_vals(ConfigValues&) <null> (libceph-common.so.2+0x592fea)
#2 md_config_t::set_mon_vals(ceph::common::CephContext*, ConfigValues&, ConfigTracker const&, std::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::less<void>, 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&, std::function<bool (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&)>) <null> (libceph-common.so.2+0x5bbd69)
#3 ceph::common::ConfigProxy::set_mon_vals(ceph::common::CephContext*, std::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::less<void>, 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&, std::function<bool (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&)>) <null> (libceph-common.so.2+0xa22d3e)
#4 LambdaContext<MonClient::handle_config(MConfig*)::{lambda(int)#2}>::finish(int) <null> (libceph-common.so.2+0x9f7dff)
#5 Context::complete(int) <null> (libceph-common.so.2+0x3aa944)
#6 Finisher::finisher_thread_entry() <null> (libceph-common.so.2+0x3d4c8e)
#7 Finisher::FinisherThread::entry() <null> (libceph-common.so.2+0xa1fd6d)
#8 Thread::entry_wrapper() <null> (libceph-common.so.2+0x46d109)
#9 Thread::_entry_func(void*) <null> (libceph-common.so.2+0x46d216)
Previous read of size 8 at 0x7ba000012510 by thread T21 (mutexes: write M910, write M787):
#0 MonClient::start_mon_command(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&, ceph::buffer::v15_2_0::list const&, ceph::buffer::v15_2_0::list*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, Context*) <null> (libceph-common.so.2+0xa1a400)
#1 librados::v14_2_0::RadosClient::mon_command_async(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&, ceph::buffer::v15_2_0::list const&, ceph::buffer::v15_2_0::list*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, Context*) <null> (librados.so.2+0x147b27)
#2 librados::v14_2_0::RadosClient::mon_command(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&, ceph::buffer::v15_2_0::list const&, ceph::buffer::v15_2_0::list*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) <null> (librados.so.2+0x147d51)
#3 _rados_mon_command <null> (librados.so.2+0xa32ba)
#4 __pyx_pf_5rados_5Rados_56mon_command /root/ceph/build/src/pybind/rados/pyrex/rados.c:20764 (rados.cpython-38-x86_64-linux-gnu.so+0xc3bf4)
#5 __pyx_pw_5rados_5Rados_57mon_command /root/ceph/build/src/pybind/rados/pyrex/rados.c:20375 (rados.cpython-38-x86_64-linux-gnu.so+0xc3bf4)
Location is heap block of size 14512 at 0x7ba000010000 allocated by thread T1:
#0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8f542)
#1 common_preinit(CephInitParameters const&, code_environment_t, int) <null> (libceph-common.so.2+0x58386a)
#2 rados_create_cct(char const*, CephInitParameters*) <null> (librados.so.2+0xadf13)
#3 _rados_create2 <null> (librados.so.2+0xae7ca)
#4 __pyx_pf_5rados_5Rados_2__setup /root/ceph/build/src/pybind/rados/pyrex/rados.c:12393 (rados.cpython-38-x86_64-linux-gnu.so+0xbc5fe)
#5 __pyx_pw_5rados_5Rados_3__setup /root/ceph/build/src/pybind/rados/pyrex/rados.c:11881 (rados.cpython-38-x86_64-linux-gnu.so+0xbc5fe)
Mutex M506 (0x7ba000013628) created at:
#0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4250 (libtsan.so.0+0x53908)
#1 ceph::common::ConfigProxy::add_observer(ceph::md_config_obs_impl<ceph::common::ConfigProxy>*) <null> (libceph-common.so.2+0x53a1b7)
#2 ceph::common::CephContext::CephContext(unsigned int, code_environment_t, int) <null> (libceph-common.so.2+0x52baea)
#3 common_preinit(CephInitParameters const&, code_environment_t, int) <null> (libceph-common.so.2+0x58388a)
#4 rados_create_cct(char const*, CephInitParameters*) <null> (librados.so.2+0xadf13)
#5 _rados_create2 <null> (librados.so.2+0xae7ca)
#6 __pyx_pf_5rados_5Rados_2__setup /root/ceph/build/src/pybind/rados/pyrex/rados.c:12393 (rados.cpython-38-x86_64-linux-gnu.so+0xbc5fe)
#7 __pyx_pw_5rados_5Rados_3__setup /root/ceph/build/src/pybind/rados/pyrex/rados.c:11881 (rados.cpython-38-x86_64-linux-gnu.so+0xbc5fe)
Mutex M910 (0x7b8000010bd8) created at:
#0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4250 (libtsan.so.0+0x53908)
#1 std::mutex::lock() <null> (librados.so.2+0x13fe45)
#2 librados::v14_2_0::RadosClient::connect() <null> (librados.so.2+0x15b414)
#3 _rados_connect <null> (librados.so.2+0x59275)
#4 __pyx_pf_5rados_5Rados_28connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16159 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
#5 __pyx_pw_5rados_5Rados_29connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16094 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
Mutex M787 (0x7b8000010350) created at:
#0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4250 (libtsan.so.0+0x53908)
#1 MonClient::init() <null> (libceph-common.so.2+0xa03154)
#2 librados::v14_2_0::RadosClient::connect() <null> (librados.so.2+0x15b148)
#3 _rados_connect <null> (librados.so.2+0x59275)
#4 __pyx_pf_5rados_5Rados_28connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16159 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
#5 __pyx_pw_5rados_5Rados_29connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16094 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
Thread T17 'fn_anonymous' (tid=476, running) created by thread T3 at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 Thread::try_create(unsigned long) <null> (libceph-common.so.2+0x46d448)
#2 Thread::create(char const*, unsigned long) <null> (libceph-common.so.2+0x46d566)
#3 Finisher::start() <null> (libceph-common.so.2+0x3d2cbd)
#4 MonClient::init() <null> (libceph-common.so.2+0xa0357f)
#5 librados::v14_2_0::RadosClient::connect() <null> (librados.so.2+0x15b148)
#6 _rados_connect <null> (librados.so.2+0x59275)
#7 __pyx_pf_5rados_5Rados_28connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16159 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
#8 __pyx_pw_5rados_5Rados_29connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16094 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
Thread T21 (tid=480, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 PyThread_start_new_thread <null> (python3.8+0x670ab9)
Thread T1 (tid=460, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 PyThread_start_new_thread <null> (python3.8+0x670ab9)
SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/ceph/libceph-common.so.2+0x592a1a) in md_config_t::update_legacy_val(ConfigValues&, Option const&, boost::variant<long ConfigValues::*, unsigned long ConfigValues::*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > ConfigValues::*, double ConfigValues::*, bool ConfigValues::*, entity_addr_t ConfigValues::*, entity_addrvec_t ConfigValues::*, uuid_d ConfigValues::*>)
==================
==================
WARNING: ThreadSanitizer: data race (pid=439)
Read of size 8 at 0x7b80000102d0 by thread T23:
#0 MonClient::_hunting() const <null> (libceph-common.so.2+0x9f7337)
#1 MonClient::shutdown() <null> (libceph-common.so.2+0xa09bcd)
#2 librados::v14_2_0::RadosClient::shutdown() <null> (librados.so.2+0x1545a6)
#3 rados_shutdown@@ <null> (librados.so.2+0x594e5)
#4 __pyx_pf_5rados_5Rados_8shutdown /root/ceph/build/src/pybind/rados/pyrex/rados.c:13440 (rados.cpython-38-x86_64-linux-gnu.so+0x5b9b8)
#5 __pyx_pw_5rados_5Rados_9shutdown /root/ceph/build/src/pybind/rados/pyrex/rados.c:13395 (rados.cpython-38-x86_64-linux-gnu.so+0x5b9b8)
Previous write of size 8 at 0x7b80000102d0 by thread T14 (mutexes: write M787):
#0 std::pair<std::_Rb_tree_iterator<std::pair<entity_addrvec_t const, MonConnection> >, bool> std::_Rb_tree<entity_addrvec_t, std::pair<entity_addrvec_t const, MonConnection>, std::_Select1st<std::pair<entity_addrvec_t const, MonConnection> >, std::less<entity_addrvec_t>, std::allocator<std::pair<entity_addrvec_t const, MonConnection> > >::_M_emplace_unique<std::pair<entity_addrvec_t, MonConnection> >(std::pair<entity_addrvec_t, MonConnection>&&) <null> (libceph-common.so.2+0xa220d9)
#1 MonClient::_add_conn(unsigned int, unsigned long) <null> (libceph-common.so.2+0xa0272b)
#2 MonClient::_add_conns(unsigned long) <null> (libceph-common.so.2+0xa086f6)
#3 MonClient::_reopen_session(int) <null> (libceph-common.so.2+0xa0f717)
#4 MonClient::handle_monmap(MMonMap*) <null> (libceph-common.so.2+0xa111fa)
#5 MonClient::ms_dispatch(Message*) <null> (libceph-common.so.2+0xa1948d)
#6 Messenger::ms_deliver_dispatch(boost::intrusive_ptr<Message> const&) <null> (libceph-common.so.2+0x707a96)
#7 DispatchQueue::entry() <null> (libceph-common.so.2+0x701e2b)
#8 DispatchQueue::DispatchThread::entry() <null> (libceph-common.so.2+0x88715d)
#9 Thread::entry_wrapper() <null> (libceph-common.so.2+0x46d109)
#10 Thread::_entry_func(void*) <null> (libceph-common.so.2+0x46d216)
Location is heap block of size 3784 at 0x7b8000010000 allocated by thread T1:
#0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8f542)
#1 _rados_create2 <null> (librados.so.2+0xae8be)
#2 __pyx_pf_5rados_5Rados_2__setup /root/ceph/build/src/pybind/rados/pyrex/rados.c:12393 (rados.cpython-38-x86_64-linux-gnu.so+0xbc5fe)
#3 __pyx_pw_5rados_5Rados_3__setup /root/ceph/build/src/pybind/rados/pyrex/rados.c:11881 (rados.cpython-38-x86_64-linux-gnu.so+0xbc5fe)
Mutex M787 (0x7b8000010350) created at:
#0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4250 (libtsan.so.0+0x53908)
#1 MonClient::init() <null> (libceph-common.so.2+0xa03154)
#2 librados::v14_2_0::RadosClient::connect() <null> (librados.so.2+0x15b148)
#3 _rados_connect <null> (librados.so.2+0x59275)
#4 __pyx_pf_5rados_5Rados_28connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16159 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
#5 __pyx_pw_5rados_5Rados_29connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16094 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
Thread T23 (tid=483, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 PyThread_start_new_thread <null> (python3.8+0x670ab9)
Thread T14 'ms_dispatch' (tid=473, running) created by thread T3 at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 Thread::try_create(unsigned long) <null> (libceph-common.so.2+0x46d448)
#2 Thread::create(char const*, unsigned long) <null> (libceph-common.so.2+0x46d566)
#3 DispatchQueue::start() <null> (libceph-common.so.2+0x6fc2bd)
#4 AsyncMessenger::ready() <null> (libceph-common.so.2+0x87b11c)
#5 librados::v14_2_0::RadosClient::connect() <null> (librados.so.2+0x15bb1a)
#6 _rados_connect <null> (librados.so.2+0x59275)
#7 __pyx_pf_5rados_5Rados_28connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16159 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
#8 __pyx_pw_5rados_5Rados_29connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16094 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
Thread T1 (tid=460, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 PyThread_start_new_thread <null> (python3.8+0x670ab9)
SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/ceph/libceph-common.so.2+0x9f7337) in MonClient::_hunting() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=439)
Write of size 1 at 0x7b54000403e1 by thread T23:
#0 NetworkStack::stop() <null> (libceph-common.so.2+0x934a66)
#1 void ceph::_any::op_func<StackSingleton>(ceph::_any::op, void*) <null> (libceph-common.so.2+0x88740b)
#2 ceph::common::CephContext::~CephContext() <null> (libceph-common.so.2+0x52cc65)
#3 ceph::common::CephContext::put() <null> (libceph-common.so.2+0x52ef4c)
#4 std::_Function_handler<void (ceph::common::CephContext*), librados::v14_2_0::RadosClient::RadosClient(ceph::common::CephContext*)::{lambda(ceph::common::CephContext*)#1}>::_M_invoke(std::_Any_data const&, ceph::common::CephContext*&&) <null> (librados.so.2+0x1469fb)
#5 librados::v14_2_0::RadosClient::~RadosClient() <null> (librados.so.2+0x15c8a4)
#6 librados::v14_2_0::RadosClient::~RadosClient() <null> (librados.so.2+0x15c966)
#7 rados_shutdown@@ <null> (librados.so.2+0x5950f)
#8 __pyx_pf_5rados_5Rados_8shutdown /root/ceph/build/src/pybind/rados/pyrex/rados.c:13440 (rados.cpython-38-x86_64-linux-gnu.so+0x5b9b8)
#9 __pyx_pw_5rados_5Rados_9shutdown /root/ceph/build/src/pybind/rados/pyrex/rados.c:13395 (rados.cpython-38-x86_64-linux-gnu.so+0x5b9b8)
Previous read of size 1 at 0x7b54000403e1 by thread T4:
#0 std::_Function_handler<void (), NetworkStack::add_thread(unsigned int)::{lambda()#1}>::_M_invoke(std::_Any_data const&) <null> (libceph-common.so.2+0x935eb3)
#1 std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::function<void ()> > > >::_M_run() <null> (libceph-common.so.2+0x932dc3)
#2 <null> <null> (libstdc++.so.6+0xda6b3)
Location is heap block of size 520 at 0x7b5400040380 allocated by thread T3:
#0 operator new(unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x8f542)
#1 NetworkStack::create_worker(ceph::common::CephContext*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int) <null> (libceph-common.so.2+0x934fe3)
#2 NetworkStack::NetworkStack(ceph::common::CephContext*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) <null> (libceph-common.so.2+0x9354e1)
#3 PosixNetworkStack::PosixNetworkStack(ceph::common::CephContext*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) <null> (libceph-common.so.2+0x931905)
#4 NetworkStack::create(ceph::common::CephContext*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) <null> (libceph-common.so.2+0x934ce9)
#5 AsyncMessenger::AsyncMessenger(ceph::common::CephContext*, entity_name_t, 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> >, unsigned long) <null> (libceph-common.so.2+0x8859dd)
#6 Messenger::create(ceph::common::CephContext*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, entity_name_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, unsigned long) <null> (libceph-common.so.2+0x852645)
#7 Messenger::create_client_messenger(ceph::common::CephContext*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) <null> (libceph-common.so.2+0x853165)
#8 MonClient::get_monmap_and_config() <null> (libceph-common.so.2+0xa129f4)
#9 librados::v14_2_0::RadosClient::connect() <null> (librados.so.2+0x15a42e)
#10 _rados_connect <null> (librados.so.2+0x59275)
#11 __pyx_pf_5rados_5Rados_28connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16159 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
#12 __pyx_pw_5rados_5Rados_29connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16094 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
Thread T23 (tid=483, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 PyThread_start_new_thread <null> (python3.8+0x670ab9)
Thread T4 'msgr-worker-0' (tid=463, running) created by thread T3 at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xda989)
#2 NetworkStack::start() <null> (libceph-common.so.2+0x934721)
#3 AsyncMessenger::AsyncMessenger(ceph::common::CephContext*, entity_name_t, 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> >, unsigned long) <null> (libceph-common.so.2+0x88501f)
#4 Messenger::create(ceph::common::CephContext*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, entity_name_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, unsigned long) <null> (libceph-common.so.2+0x852645)
#5 Messenger::create_client_messenger(ceph::common::CephContext*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) <null> (libceph-common.so.2+0x853165)
#6 MonClient::get_monmap_and_config() <null> (libceph-common.so.2+0xa129f4)
#7 librados::v14_2_0::RadosClient::connect() <null> (librados.so.2+0x15a42e)
#8 _rados_connect <null> (librados.so.2+0x59275)
#9 __pyx_pf_5rados_5Rados_28connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16159 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
#10 __pyx_pw_5rados_5Rados_29connect /root/ceph/build/src/pybind/rados/pyrex/rados.c:16094 (rados.cpython-38-x86_64-linux-gnu.so+0x80e92)
Thread T3 (tid=462, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605f8)
#1 PyThread_start_new_thread <null> (python3.8+0x670ab9)
SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/ceph/libceph-common.so.2+0x934a66) in NetworkStack::stop()
Can somebody help me solve these problems? Thanks in advance!
No data to display
Actions