TSAN warnings in kea-netconf - also fix UT crash on MacOS
[ RUN ] keactrl.start_all_servers_verbose_test
Creating Dhcp4 configuration file: /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/dhcp4_test_config.conf.json.
Creating Dhcp6 configuration file: /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/dhcp6_test_config.conf.json.
Creating D2 configuration file: /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/d2_test_config.conf.json.
Creating Ca configuration file: /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/ca_test_config.conf.json.
Creating Nc configuration file: /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/nc_test_config.conf.json.
Creating keactrl configuration file: /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/keactrl_test.conf.
Kea log will be stored in /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/test.log.
Starting Kea: /home/razvan/isc/git/kea-work/src/bin/keactrl/keactrl start -c /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/keactrl_test.conf
INFO/keactrl: Starting /home/razvan/isc/git/kea-work/src/bin/dhcp4/kea-dhcp4 -c /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/dhcp4_test_config.conf.json -d
INFO/keactrl: Starting /home/razvan/isc/git/kea-work/src/bin/dhcp6/kea-dhcp6 -c /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/dhcp6_test_config.conf.json -d
INFO/keactrl: Starting /home/razvan/isc/git/kea-work/src/bin/d2/kea-dhcp-ddns -c /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/d2_test_config.conf.json -d
INFO/keactrl: Starting /home/razvan/isc/git/kea-work/src/bin/agent/kea-ctrl-agent -c /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/ca_test_config.conf.json -d
INFO/keactrl: Starting /home/razvan/isc/git/kea-work/src/bin/netconf/kea-netconf -c /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/nc_test_config.conf.json -d
INFO/test_lib: wait_for_message DHCP6_CONFIG_COMPLETE: .==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b1800000200 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<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> > > > >::deallocate(std::_Rb_tree_node<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> > > >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7018c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<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> > > > > >::deallocate(std::allocator<std::_Rb_tree_node<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> > > > >&, std::_Rb_tree_node<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> > > >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7018c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_put_node(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7018c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_drop_node(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7018c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_erase(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7018c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_erase(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_erase(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#8 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_erase(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#9 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x701e6)
#10 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<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> > > > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x701e6)
#11 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 8 at 0x7b1800000200 by thread T1:
#0 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/basic_string.h:451 (kea-netconf+0x64f08)
#1 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> > >::pair(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&) /usr/include/c++/9/bits/stl_pair.h:303 (kea-netconf+0x64f08)
#2 isc::netconf::NetconfAgent::checkModules(boost::shared_ptr<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<isc::netconf::CfgServer>, std::less<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, boost::shared_ptr<isc::netconf::CfgServer> > > > > const&) const /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:333 (kea-netconf+0x64f08)
#3 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:172 (kea-netconf+0x6c0a7)
#4 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#5 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#6 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#7 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#8 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#9 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#10 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b1800000208 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<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> > > > >::deallocate(std::_Rb_tree_node<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> > > >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7018c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<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> > > > > >::deallocate(std::allocator<std::_Rb_tree_node<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> > > > >&, std::_Rb_tree_node<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> > > >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7018c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_put_node(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7018c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_drop_node(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7018c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_erase(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7018c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_erase(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_erase(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#8 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_erase(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#9 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x701e6)
#10 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<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> > > > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x701e6)
#11 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 8 at 0x7b1800000208 by thread T1:
#0 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/basic_string.h:451 (kea-netconf+0x64f15)
#1 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> > >::pair(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&) /usr/include/c++/9/bits/stl_pair.h:303 (kea-netconf+0x64f15)
#2 isc::netconf::NetconfAgent::checkModules(boost::shared_ptr<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<isc::netconf::CfgServer>, std::less<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, boost::shared_ptr<isc::netconf::CfgServer> > > > > const&) const /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:333 (kea-netconf+0x64f15)
#3 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:172 (kea-netconf+0x6c0a7)
#4 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#5 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#6 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#7 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#8 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#9 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#10 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b1800000210 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<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> > > > >::deallocate(std::_Rb_tree_node<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> > > >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7018c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<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> > > > > >::deallocate(std::allocator<std::_Rb_tree_node<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> > > > >&, std::_Rb_tree_node<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> > > >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7018c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_put_node(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7018c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_drop_node(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7018c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_erase(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7018c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_erase(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_erase(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#8 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::_M_erase(std::_Rb_tree_node<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> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#9 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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> > >, std::_Select1st<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> > > >, std::less<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> > > > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x701e6)
#10 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<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> > > > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x701e6)
#11 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 8 at 0x7b1800000210 by thread T1:
#0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
#1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
#2 std::char_traits<char>::copy(char*, char const*, unsigned long) /usr/include/c++/9/bits/char_traits.h:365 (kea-netconf+0x4bba1)
#3 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long) /usr/include/c++/9/bits/basic_string.h:351 (kea-netconf+0x4bba1)
#4 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long) /usr/include/c++/9/bits/basic_string.h:346 (kea-netconf+0x4bba1)
#5 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy_chars(char*, char*, char*) /usr/include/c++/9/bits/basic_string.h:393 (kea-netconf+0x4bba1)
#6 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) /usr/include/c++/9/bits/basic_string.tcc:225 (kea-netconf+0x4bba1)
#7 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char*>(char*, char*, std::__false_type) /usr/include/c++/9/bits/basic_string.h:247 (kea-netconf+0x64f27)
#8 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*) /usr/include/c++/9/bits/basic_string.h:266 (kea-netconf+0x64f27)
#9 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/basic_string.h:451 (kea-netconf+0x64f27)
#10 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> > >::pair(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&) /usr/include/c++/9/bits/stl_pair.h:303 (kea-netconf+0x64f27)
#11 isc::netconf::NetconfAgent::checkModules(boost::shared_ptr<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<isc::netconf::CfgServer>, std::less<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, boost::shared_ptr<isc::netconf::CfgServer> > > > > const&) const /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:333 (kea-netconf+0x64f27)
#12 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:172 (kea-netconf+0x6c0a7)
#13 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#14 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#15 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#16 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#17 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#18 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#19 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b18000088b8 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<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> > >::deallocate(std::_Rb_tree_node<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> >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7036c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<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> > > >::deallocate(std::allocator<std::_Rb_tree_node<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::_Rb_tree_node<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> >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7036c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_put_node(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7036c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_drop_node(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7036c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_erase(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7036c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_erase(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_erase(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#8 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x64826)
#9 std::map<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x64826)
#10 isc::netconf::NetconfAgent::~NetconfAgent() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:150 (kea-netconf+0x64826)
#11 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#12 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#13 void boost::checked_delete<isc::process::DProcessBase>(isc::process::DProcessBase*) /usr/include/boost/core/checked_delete.hpp:36 (libkea-process.so.28+0x4b6f3)
#14 boost::detail::sp_counted_impl_p<isc::process::DProcessBase>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (libkea-process.so.28+0x4b6f3)
#15 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x433da)
#16 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x433da)
#17 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x433da)
#18 boost::shared_ptr<isc::process::DProcessBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x433da)
#19 isc::process::DControllerBase::~DControllerBase() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:807 (libkea-process.so.28+0x433da)
#20 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#21 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#22 void boost::checked_delete<isc::netconf::NetconfController>(isc::netconf::NetconfController*) /usr/include/boost/core/checked_delete.hpp:36 (kea-netconf+0x2e8ad)
#23 boost::detail::sp_counted_impl_p<isc::netconf::NetconfController>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (kea-netconf+0x2e8ad)
#24 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x4cfda)
#25 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x4cfda)
#26 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x4cfda)
#27 boost::shared_ptr<isc::process::DControllerBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x4cfda)
#28 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 1 at 0x7b18000088bc by thread T1:
#0 memcmp ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:887 (libtsan.so.0+0x6518f)
#1 memcmp ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:883 (libtsan.so.0+0x6518f)
#2 std::char_traits<char>::compare(char const*, char const*, unsigned long) /usr/include/c++/9/bits/char_traits.h:325 (kea-netconf+0x712a7)
#3 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/basic_string.h:2859 (kea-netconf+0x712a7)
#4 bool std::operator< <char, std::char_traits<char>, std::allocator<char> >(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&) /usr/include/c++/9/bits/basic_string.h:6229 (kea-netconf+0x712a7)
#5 std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>::operator()(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&) const /usr/include/c++/9/bits/stl_function.h:386 (kea-netconf+0x712a7)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_get_insert_unique_pos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_tree.h:2106 (kea-netconf+0x712a7)
#7 std::pair<std::_Rb_tree_iterator<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> >, bool> std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_emplace_unique<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::__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&) /usr/include/c++/9/bits/stl_tree.h:2413 (kea-netconf+0x712a7)
#8 std::pair<std::_Rb_tree_iterator<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> >, bool> std::map<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::emplace<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::__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&) /usr/include/c++/9/bits/stl_map.h:575 (kea-netconf+0x65865)
#9 isc::netconf::NetconfAgent::getModules() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:288 (kea-netconf+0x65865)
#10 isc::netconf::NetconfAgent::initSysrepo() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:266 (kea-netconf+0x66324)
#11 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:169 (kea-netconf+0x6c097)
#12 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#13 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#14 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#15 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#16 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#17 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#18 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b1800008b30 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<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> > >::deallocate(std::_Rb_tree_node<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> >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7036c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<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> > > >::deallocate(std::allocator<std::_Rb_tree_node<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::_Rb_tree_node<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> >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7036c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_put_node(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7036c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_drop_node(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7036c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_erase(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7036c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_erase(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x64826)
#8 std::map<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x64826)
#9 isc::netconf::NetconfAgent::~NetconfAgent() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:150 (kea-netconf+0x64826)
#10 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#11 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#12 void boost::checked_delete<isc::process::DProcessBase>(isc::process::DProcessBase*) /usr/include/boost/core/checked_delete.hpp:36 (libkea-process.so.28+0x4b6f3)
#13 boost::detail::sp_counted_impl_p<isc::process::DProcessBase>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (libkea-process.so.28+0x4b6f3)
#14 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x433da)
#15 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x433da)
#16 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x433da)
#17 boost::shared_ptr<isc::process::DProcessBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x433da)
#18 isc::process::DControllerBase::~DControllerBase() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:807 (libkea-process.so.28+0x433da)
#19 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#20 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#21 void boost::checked_delete<isc::netconf::NetconfController>(isc::netconf::NetconfController*) /usr/include/boost/core/checked_delete.hpp:36 (kea-netconf+0x2e8ad)
#22 boost::detail::sp_counted_impl_p<isc::netconf::NetconfController>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (kea-netconf+0x2e8ad)
#23 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x4cfda)
#24 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x4cfda)
#25 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x4cfda)
#26 boost::shared_ptr<isc::process::DControllerBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x4cfda)
#27 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 8 at 0x7b1800008b30 by thread T1:
#0 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_lower_bound(std::_Rb_tree_node<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> > const*, std::_Rb_tree_node_base const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/stl_tree.h:1946 (kea-netconf+0x7062b)
#1 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/stl_tree.h:2570 (kea-netconf+0x7062b)
#2 std::map<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/stl_map.h:1194 (kea-netconf+0x64f77)
#3 isc::netconf::NetconfAgent::checkModules(boost::shared_ptr<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<isc::netconf::CfgServer>, std::less<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, boost::shared_ptr<isc::netconf::CfgServer> > > > > const&) const /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:334 (kea-netconf+0x64f77)
#4 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:172 (kea-netconf+0x6c0a7)
#5 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#6 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#7 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#8 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#9 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#10 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#11 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b1800008b38 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<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> > >::deallocate(std::_Rb_tree_node<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> >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7036c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<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> > > >::deallocate(std::allocator<std::_Rb_tree_node<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::_Rb_tree_node<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> >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7036c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_put_node(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7036c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_drop_node(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7036c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_erase(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7036c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_erase(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x64826)
#8 std::map<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x64826)
#9 isc::netconf::NetconfAgent::~NetconfAgent() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:150 (kea-netconf+0x64826)
#10 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#11 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#12 void boost::checked_delete<isc::process::DProcessBase>(isc::process::DProcessBase*) /usr/include/boost/core/checked_delete.hpp:36 (libkea-process.so.28+0x4b6f3)
#13 boost::detail::sp_counted_impl_p<isc::process::DProcessBase>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (libkea-process.so.28+0x4b6f3)
#14 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x433da)
#15 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x433da)
#16 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x433da)
#17 boost::shared_ptr<isc::process::DProcessBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x433da)
#18 isc::process::DControllerBase::~DControllerBase() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:807 (libkea-process.so.28+0x433da)
#19 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#20 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#21 void boost::checked_delete<isc::netconf::NetconfController>(isc::netconf::NetconfController*) /usr/include/boost/core/checked_delete.hpp:36 (kea-netconf+0x2e8ad)
#22 boost::detail::sp_counted_impl_p<isc::netconf::NetconfController>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (kea-netconf+0x2e8ad)
#23 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x4cfda)
#24 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x4cfda)
#25 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x4cfda)
#26 boost::shared_ptr<isc::process::DControllerBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x4cfda)
#27 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 8 at 0x7b1800008b38 by thread T1:
#0 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_get_insert_unique_pos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_tree.h:2096 (kea-netconf+0x711fa)
#1 std::pair<std::_Rb_tree_iterator<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> >, bool> std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_emplace_unique<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::__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&) /usr/include/c++/9/bits/stl_tree.h:2413 (kea-netconf+0x711fa)
#2 std::pair<std::_Rb_tree_iterator<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> >, bool> std::map<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::emplace<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::__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&) /usr/include/c++/9/bits/stl_map.h:575 (kea-netconf+0x65865)
#3 isc::netconf::NetconfAgent::getModules() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:288 (kea-netconf+0x65865)
#4 isc::netconf::NetconfAgent::initSysrepo() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:266 (kea-netconf+0x66324)
#5 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:169 (kea-netconf+0x6c097)
#6 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#7 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#8 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#9 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#10 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#11 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#12 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b18000088b8 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<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> > >::deallocate(std::_Rb_tree_node<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> >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7036c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<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> > > >::deallocate(std::allocator<std::_Rb_tree_node<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::_Rb_tree_node<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> >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7036c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_put_node(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7036c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_drop_node(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7036c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_erase(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7036c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_erase(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_erase(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#8 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x64826)
#9 std::map<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x64826)
#10 isc::netconf::NetconfAgent::~NetconfAgent() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:150 (kea-netconf+0x64826)
#11 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#12 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#13 void boost::checked_delete<isc::process::DProcessBase>(isc::process::DProcessBase*) /usr/include/boost/core/checked_delete.hpp:36 (libkea-process.so.28+0x4b6f3)
#14 boost::detail::sp_counted_impl_p<isc::process::DProcessBase>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (libkea-process.so.28+0x4b6f3)
#15 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x433da)
#16 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x433da)
#17 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x433da)
#18 boost::shared_ptr<isc::process::DProcessBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x433da)
#19 isc::process::DControllerBase::~DControllerBase() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:807 (libkea-process.so.28+0x433da)
#20 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#21 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#22 void boost::checked_delete<isc::netconf::NetconfController>(isc::netconf::NetconfController*) /usr/include/boost/core/checked_delete.hpp:36 (kea-netconf+0x2e8ad)
#23 boost::detail::sp_counted_impl_p<isc::netconf::NetconfController>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (kea-netconf+0x2e8ad)
#24 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x4cfda)
#25 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x4cfda)
#26 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x4cfda)
#27 boost::shared_ptr<isc::process::DControllerBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x4cfda)
#28 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 1 at 0x7b18000088bc by thread T1:
#0 memcmp ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:887 (libtsan.so.0+0x6518f)
#1 memcmp ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:883 (libtsan.so.0+0x6518f)
#2 std::char_traits<char>::compare(char const*, char const*, unsigned long) /usr/include/c++/9/bits/char_traits.h:325 (kea-netconf+0x712a7)
#3 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/basic_string.h:2859 (kea-netconf+0x712a7)
#4 bool std::operator< <char, std::char_traits<char>, std::allocator<char> >(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&) /usr/include/c++/9/bits/basic_string.h:6229 (kea-netconf+0x712a7)
#5 std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>::operator()(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&) const /usr/include/c++/9/bits/stl_function.h:386 (kea-netconf+0x712a7)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_get_insert_unique_pos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_tree.h:2106 (kea-netconf+0x712a7)
#7 std::pair<std::_Rb_tree_iterator<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> >, bool> std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_emplace_unique<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::__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&) /usr/include/c++/9/bits/stl_tree.h:2413 (kea-netconf+0x712a7)
#8 std::pair<std::_Rb_tree_iterator<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> >, bool> std::map<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::emplace<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::__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&) /usr/include/c++/9/bits/stl_map.h:575 (kea-netconf+0x65865)
#9 isc::netconf::NetconfAgent::getModules() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:288 (kea-netconf+0x65865)
#10 isc::netconf::NetconfAgent::initSysrepo() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:266 (kea-netconf+0x66324)
#11 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:169 (kea-netconf+0x6c097)
#12 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#13 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#14 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#15 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#16 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#17 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#18 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b1800008b30 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<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> > >::deallocate(std::_Rb_tree_node<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> >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7036c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<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> > > >::deallocate(std::allocator<std::_Rb_tree_node<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::_Rb_tree_node<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> >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7036c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_put_node(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7036c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_drop_node(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7036c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_erase(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7036c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_erase(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x64826)
#8 std::map<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x64826)
#9 isc::netconf::NetconfAgent::~NetconfAgent() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:150 (kea-netconf+0x64826)
#10 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#11 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#12 void boost::checked_delete<isc::process::DProcessBase>(isc::process::DProcessBase*) /usr/include/boost/core/checked_delete.hpp:36 (libkea-process.so.28+0x4b6f3)
#13 boost::detail::sp_counted_impl_p<isc::process::DProcessBase>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (libkea-process.so.28+0x4b6f3)
#14 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x433da)
#15 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x433da)
#16 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x433da)
#17 boost::shared_ptr<isc::process::DProcessBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x433da)
#18 isc::process::DControllerBase::~DControllerBase() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:807 (libkea-process.so.28+0x433da)
#19 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#20 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#21 void boost::checked_delete<isc::netconf::NetconfController>(isc::netconf::NetconfController*) /usr/include/boost/core/checked_delete.hpp:36 (kea-netconf+0x2e8ad)
#22 boost::detail::sp_counted_impl_p<isc::netconf::NetconfController>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (kea-netconf+0x2e8ad)
#23 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x4cfda)
#24 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x4cfda)
#25 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x4cfda)
#26 boost::shared_ptr<isc::process::DControllerBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x4cfda)
#27 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 8 at 0x7b1800008b30 by thread T1:
#0 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_lower_bound(std::_Rb_tree_node<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> > const*, std::_Rb_tree_node_base const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/stl_tree.h:1946 (kea-netconf+0x7062b)
#1 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/stl_tree.h:2570 (kea-netconf+0x7062b)
#2 std::map<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/stl_map.h:1194 (kea-netconf+0x64f77)
#3 isc::netconf::NetconfAgent::checkModules(boost::shared_ptr<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<isc::netconf::CfgServer>, std::less<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, boost::shared_ptr<isc::netconf::CfgServer> > > > > const&) const /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:334 (kea-netconf+0x64f77)
#4 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:172 (kea-netconf+0x6c0a7)
#5 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#6 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#7 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#8 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#9 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#10 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#11 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b1800008b38 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<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> > >::deallocate(std::_Rb_tree_node<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> >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7036c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<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> > > >::deallocate(std::allocator<std::_Rb_tree_node<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::_Rb_tree_node<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> >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7036c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_put_node(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7036c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_drop_node(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7036c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_erase(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7036c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_erase(std::_Rb_tree_node<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> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x64826)
#8 std::map<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x64826)
#9 isc::netconf::NetconfAgent::~NetconfAgent() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:150 (kea-netconf+0x64826)
#10 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#11 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#12 void boost::checked_delete<isc::process::DProcessBase>(isc::process::DProcessBase*) /usr/include/boost/core/checked_delete.hpp:36 (libkea-process.so.28+0x4b6f3)
#13 boost::detail::sp_counted_impl_p<isc::process::DProcessBase>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (libkea-process.so.28+0x4b6f3)
#14 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x433da)
#15 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x433da)
#16 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x433da)
#17 boost::shared_ptr<isc::process::DProcessBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x433da)
#18 isc::process::DControllerBase::~DControllerBase() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:807 (libkea-process.so.28+0x433da)
#19 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#20 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#21 void boost::checked_delete<isc::netconf::NetconfController>(isc::netconf::NetconfController*) /usr/include/boost/core/checked_delete.hpp:36 (kea-netconf+0x2e8ad)
#22 boost::detail::sp_counted_impl_p<isc::netconf::NetconfController>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (kea-netconf+0x2e8ad)
#23 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x4cfda)
#24 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x4cfda)
#25 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x4cfda)
#26 boost::shared_ptr<isc::process::DControllerBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x4cfda)
#27 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 8 at 0x7b1800008b38 by thread T1:
#0 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_get_insert_unique_pos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_tree.h:2096 (kea-netconf+0x711fa)
#1 std::pair<std::_Rb_tree_iterator<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> >, bool> std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Select1st<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::_M_emplace_unique<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::__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&) /usr/include/c++/9/bits/stl_tree.h:2413 (kea-netconf+0x711fa)
#2 std::pair<std::_Rb_tree_iterator<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> >, bool> std::map<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::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, 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> > >::emplace<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::__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&) /usr/include/c++/9/bits/stl_map.h:575 (kea-netconf+0x65865)
#3 isc::netconf::NetconfAgent::getModules() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:288 (kea-netconf+0x65865)
#4 isc::netconf::NetconfAgent::initSysrepo() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:266 (kea-netconf+0x66324)
#5 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:169 (kea-netconf+0x6c097)
#6 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#7 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#8 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#9 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#10 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#11 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#12 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
Edited by Razvan Becheriu